Grails-пен жұмыс: бірінші Grails қолданбасын құру

Новости мира

Мен Grails-пен таныстыруды басқа тегін веб-әзірлеу құрылымымен бастаймын: Ruby on Rails. Rails шыққан кезде ол көптеген әзірлеушілерді баурап алды. Rails жүйесіне кіріктірілген тірек мүмкіндіктері жаңа жобаны бұрынғыға қарағанда аз уақытта іске қосуға мүмкіндік берді. Rails негізіндегі «конфигурация бойынша конвенция» идеясы қолданбаға күрделі және қатеге бейім XML конфигурация файлдарына емес, ақылға қонымды атау схемаларына негізделген «жинақтауға» мүмкіндік береді. Ruby метабағдарламалау мүмкіндіктері нысандарға бастапқы кодты шатастырмай, орындау уақытында қажет әдістер мен өрістерді «сиқырлы» иеленуге мүмкіндік береді.

Rails жүйесі алған мақтауларға ие және әлі де лайық, бірақ ол Java әзірлеушілеріне қиын сұрақтар қояды. Жаңа платформаның уәделеріне байланысты танымал Java платформасынан бас тарту керек пе? Қолданыстағы Java кодымен, бар корпоративтік серверлермен және тәжірибелі Java бағдарламашыларының қызметкерлерімен не істеу керек?

Осы мақала сериясы туралы

Grails — Spring және Hibernate сияқты белгілі Java технологияларын «конфигурация конвенциясы» сияқты заманауи әдістермен біріктіретін веб-қосымшаларды әзірлеуге арналған заманауи құрылым. Groovy тілінде жазылған Grails сценарий тілдерінің икемділігі мен динамизмін қоса отырып, бар Java кодымен үздіксіз интеграцияланады. Grails-ті үйренгеннен кейін веб-қосымшаларды әзірлеуге деген көзқарастарыңыз мәңгілікке өзгереді.

Бұл жерде Grails ойнайды. Grails дәлелденген Java технологияларымен берік байланысты сақтай отырып, Rails сияқты әзірлеу тәжірибесін ұсынады. Бірақ Grails Java платформасына тасымалданатын басқа Rails клоны ғана емес. Grails Rails-тен алған сабақтарын алып, оларды Java бағдарламалаудағы қазіргі трендтермен біріктірді. Бұл жаңа платформаға көшіруден гөрі Rails-тің дамуы.

«Грейлдермен жұмыс істеу» сериясын аша отырып, бұл мақала Grails құрылымын таныстырады, оны қалай орнату керектігін көрсетеді және бірінші Grails қолданбасын жасау процесімен таныстырады: осы мақаланың кейінгі мақалаларында қолданылатын сапарды жоспарлаушы. сериясы.

Groovy мүмкіндіктері

Rails Ruby бағдарламалау тілімен тығыз байланысты болғандықтан, Grails Groovy мүмкіндіктерінсіз болмайды (Ресурстарды қараңыз). Groovy — JVM жүйесінде жұмыс істейтін және Java тілімен үздіксіз біріктірілген динамикалық тіл. DeveloperWorks веб-сайтында көп жылдарға созылған Practical Groovy мақалаларының сериясын оқыған болсаңыз, онда сіз тілдің мүмкіндіктерімен бұрыннан таныссыз. Олай болмаса, Grails-ті үйрену барысында сізге Groovy туралы көп нәрсе білуге ​​тура келеді. Бұл қиын болмауы керек, өйткені Groovy арнайы Java әзірлеушілерін қызықтыру үшін жасалған.

Мысалы, Groovy әдетте жазуға тура келетін Java кодының көлемін күрт азайтады. Өрістерге кіру үшін алу және орнату әдістерін жазудың қажеті жоқ, өйткені Groovy оларды автоматты түрде қамтамасыз етеді. Элементтер тізімін қайталау үшін Iterator i = list.iterator() сияқты құрылымдарды жазудың қажеті жоқ; тізім.әр конструкция дәл сол нәрсені неғұрлым қысқа және сипаттамалық түрде жасайды. Қарапайым тілмен айтқанда, Groovy Java тілі жиырма бірінші ғасырда жазылған болса, қандай болатын еді.

Егер оның артықшылығын пайдалану үшін қосымшаларды толығымен қайта жазу қажет болса, Groovy ешқашан Java бағдарламашыларына жүгінбес еді. Бақытымызға орай, Groovy бар кодпен үздіксіз интеграцияланады. Groovy тілі Java тілін алмастырмайды, бірақ оны жақсартады. Groovy бір күнде тез үйренуге болады, өйткені Groovy коды Java коды. Екі тілдің үйлесімділігі сонша, жұмыс істейтін .java файлының атын .groovy файлына өзгертуге болады (мысалы, Person.java файлының атын Person.groovy деп өзгерту) және толық жарамды (және орындалатын) Groovy файлын алуға болады, дегенмен ол Groovy ұсынған артықшылықтарды ешқандай синтаксисті пайдаланбайды.

Groovy және Java тілдері арасындағы бұл терең үйлесімділік Grails негізгі ішкі технологияларға қатысты дөңгелекті қайта ойлап табудың қажеті жоқ дегенді білдіреді. Оның орнына ол сізге таныс Java кітапханаларын Groovy тұрғысынан қарауға мүмкіндік береді. TestCase түріндегі JUnit сынақ сценарийлері Groovy ішіне оралып, GroovyTestCase түріндегі нысандар ретінде көрсетіледі. Grails Ant бағдарламасының тек Groovy нұсқасы болып табылатын GANT көмегімен Ant құрастыру сценарийлеріне жаңа перспективаны ұсынады. Grails Hibernate режимін GORM деп аталатын жұқа Groovy қасбетінің артына қояды (Grails Object Relational Mapping — нысан-реляциялық салыстыруға арналған Grails кеңейтімі). Бұл Grails веб-әзірлеудің заманауи әдістерінің артықшылықтарын қамтамасыз ете отырып, Java тілінде жинақталған барлық тәжірибені пайдалануға мүмкіндік беретін үш мысал ғана.

Бірақ Grails-ті толық бағалау үшін алдымен оны іс жүзінде білу керек. Grails орнату және бірінші веб-қосымшаны жасау уақыты келді.