Кіріспе

Ашық кодты веб-қосымшалар жүйесі Grails - Apache Groovy бағдарламалау тілін қолданатын ашық кодты веб-қосымшалар жүйесі (өз кезегінде Java платформасына негізделген). Ол "конвенция бойынша кодтау" парадигмасын ұстанған, дербес даму ортасын қамтамасыз еткен және конфигурация бөлшектерінің көп бөлігін әзірлеушіден жасырған жоғары өнімділік шеңберін құруға арналған. Grails бұрын "Groovy on Rails" деп аталатын; 2006 жылдың наурыз айында бұл атау Ruby on Rails фреймворкінің негізін қалаушы Дэвид Хайнемайер Ханссонның өтінішіне жауап ретінде алынып тасталды. Жұмыс 2005 жылдың шілдесінде басталды, 0.1 нұсқасы 2006 жылдың 29 наурызында, ал 1.0 нұсқасы 2008 жылдың 18 ақпанында жарияланды.

XML конфигурациясы жоқ

Java-да веб-қосымшаларды жасау дәстүрлі түрде ортаны және фреймворктерді бастапқыда және даму кезінде конфигурациялауды қамтиды. Бұл конфигурация көбінесе конфигурацияны жеңілдету және конфигурацияны қолданба кодқа ендіруді болдырмау үшін XML файлдарында сыртқы түрде жасалады. XML бастапқыда жағымды болды, өйткені ол қосымшаларды конфигурациялау үшін үлкен сәйкестікті қамтамасыз етті. Алайда, соңғы жылдары, XML конфигурация үшін керемет болғанымен, ортаны құру қиынға соғатыны белгілі болды. Бұл өнімділікті төмендетуі мүмкін, өйткені әзірлеушілер уақыт жұмсайды түсіну және сақтау фреймворк конфигурациясы, өйткені қосымша өседі. XML конфигурациясын пайдаланатын қосымшаларда функционалдылықты қосу немесе өзгерту өзгеру процесінде қосымша қадамды қосады, бұл өнімділікті баяулатады және бүкіл процестің шапшаңдығын азайтуы мүмкін. Grails XML файлдарында конфигурацияны қосу қажеттілігін жояды. Оның орнына, негіздеме Grails негізделген қосымшалардың кодын тексеру кезінде ережелер немесе конвенциялар жиынтығын қолданады. Мысалы, Controller дегенмен аяқталатын сынып атауы (мысалы, BookController) веб-контроллер болып саналады.

Пайдалануға дайын даму ортасы

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

Миксиндер арқылы қол жетімді функционалдық

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

Веб-кеңес

Grails веб-жоспары MVC парадигмасы бойынша жасалған.

Әдістер

Сабақ домендік сынып ретінде анықталса, яғни GORM басқаратын болса, әдістер динамикалық түрде қосылады.

Көне деректер қорының үлгілері

GORM- дегі тұрақтылық механизмі Hibernate арқылы іске асырылады. Осылайша, мұрагерлік деректер қорлары стандартты Hibernate карталау файлдарын пайдалана отырып, GORM сыныптарына сәйкестендірілуі мүмкін.

Java платформасымен біріктіру

Grails Java платформасының үстіне құрылған және оның бір бөлігі болып табылады, яғни Java кітапханаларымен, фреймворктермен және қолданыстағы код базаларымен біріктіру өте оңай. Грайлз Hibernate ORM фреймворкімен картаға түсірілген сыныптарды мөлдір интеграциялауға мүмкіндік береді. Бұл Hibernate-ті қолданатын қолданыстағы қолданбалар жоғарыда талқыланған динамикалық тұрақтылық әдістерін қолдана отырып, кодты қайта құрастырмай немесе Hibernate сыныптарын қайта конфигурацияламай Grails-ті пайдалана алады дегенді білдіреді. Мұның бір салдары - гибернатта картаға түсірілген Java сыныптары үшін эскафолдингті конфигурациялау. Тағы бір салдары Grails веб-жоспардың мүмкіндіктері осы сыныптар мен оларды пайдаланатын қосымшалар үшін толық қол жетімді. Grails сонымен қатар Spring Inversion of Control Framework-ті қолданады; Grails - бұл шын мәнінде капот астында Spring MVC қосымшасы. Көктемгі негіздеме қосымша көктемгі бұршақпен қамтамасыз ету үшін және оларды өтінімнің контексіне енгізу үшін пайдаланылуы мүмкін. SiteMesh фреймворкі презентация қабатын басқару үшін қолданылады, бұл мықты шаблондар жүйесі арқылы беттерді әзірлеуді жеңілдетеді. Grails қолданбалары кез-келген сервлеттер контейнеріне немесе Java EE қолданба серверлеріне орналастырылатын соғыс артефактілері ретінде жинақталған.