본문 바로가기

IT

Grails 란?

반응형

Grails 는 웹 어플리케이션 개발을 위한 프레임워크입니다.


Grails.org 사이트에 방문하면 대문에 다음과 같은 문구가 있습니다.


A powerful Groovy-based web application framework for the JVM built on top of Spring Boot


간단히 말해서 스프링부트를 기반으로 하는 JVM을 위한 강력한 Groovy 언어 기반의 웹 어플리케이션 프레임워크라고 하네요.


저희 사내 개발자 분중에서 오랜 기간동안 Groovy, Grails 기반으로 프로그래밍을 하신 분이 있어서, 이번에 프로젝트를 진행하면서 Grails 기반으로 API 서비스를 개발하려고 하고 있습니다. 그동안 Spring Boot, Java 언어만으로 개발해서 Groovy 의 문법이 생소하기도하고, 개발된 서비스의 소스를 보면 Java 기반의 그것과는 다르게 간결한 모습을 보여주어서 첫인상은 꽤 좋게 남았습니다.


Grails.org 에서 소개하는 Grails 의 장점을 몇자 적어보겠습니다.


1. FLAT LEARNING CURVE (쉬운 학습 곡선)

컨벤션 오버 구성, 현명한 디폴트, 독창적 인 API 및 Groovy 언어가 결합되어 Grails는 Java 개발자를 위해 쉽게 배울 수 있습니다.


2. ON TOP OF SPRING BOOT (Spring Boot 기반)

Grails는 Spring Boot를 기반으로 만들어졌으며 Spring Power Dependency Injection과 같은 Spring Boot의 시간 절약 기능을 활용합니다.


3. SMOOTH JAVA INTEGRATION (Java 확장성)

Grails는 Java, JVM 및 기존 Java EE 컨테이너와 원활하고 투명하게 통합되고 상호 운영됩니다.


4. GROOVY-BASED (Groovy 언어 기반)

Apache Groovy는 개발자의 생산성을 향상 시키도록 설계된 Java 플랫폼 용 언어입니다. 선택적 유형 지정 및 동적 언어이지만 정적 유형 지정 및 정적 컴파일 기능이 있습니다.


5. SEAMLESS GORM INTEGRATION

Grails는 관계형 및 비 관계형 데이터에 액세스하기위한 풍부한 API 세트를 제공하는 데이터 액세스 툴킷 인 GORM과 완벽하게 통합됩니다. GORM에는 Hibernate (SQL), MongoDB, Cassandra 및 Neo4j에 대한 구현도 포함됩니다.


6. REST APIS. REACT. ANGULAR

Grails는 React와 Angular를 포함한 애플리케이션 프로파일을 사용하여 개발자가 JavaScript 프론트 엔드를 사용하여 REST API 또는 최신 웹 애플리케이션을 빌드 할 수 있습니다.


7. PLUGINS

개발자는 Grails를 확장하고 향상시키는 플러그인을 만들거나 활발한 플러그인 커뮤니티에서 게시 한 기존 플러그인에 액세스 할 수 있습니다.


8. VIEW TECHNOLOGIES

GSP, JSON Views 및 Markup Views와 같은 기술을 사용하면 개발자가 HTML, JSON 및 XML을 손쉽게 생성 할 수 있습니다.


9. ASYNCHRONOUS CAPABILITIES

Grails의 비동기 기능은 동시 프로그래밍을 단순화하는 것을 목표로합니다. Grails의 기능에는 Promises 개념, 통합 이벤트 모델, 반응 논리를 작성하는 RxJava의 사용이 포함됩니다.


10. OPEN SOURCE

Grails는 오픈 소스 Apache 2 License 프로젝트입니다. 쟁쟁한 회사들이 많이 참여하고, 사용 중입니다.


11. Domain-Specific Languages

Grails는 유효성 검사, 쿼리, 마크 업 렌더링 등을 위해 명시적인 도메인 특정 언어 (DSL)를 사용합니다.


12. IDE SUPPORT

개발자는 Intellij IDEA, Eclipse, Sublime 및 Textmate와 같은 IDE 및 텍스트 편집기를 통해 언제든지 지원에 액세스 할 수 있습니다.


이상입니다.


지금까지 경험한 선배 개발자분의 소스를 확인하였을 때, 일반 Spring Boot 로 개발하면서 좀 불편하거나, 이런 코드도 줄일 수 없나.. 라는 고민을 한 적이 있는데요.

일단 6번 항목과 8번 항목에 대해서는 찬성합니다. 물론 언어의 난이도도 아직은 초반이라 Java 로는 눈감고 개발할 수 있는 것을 이제 막 시작하는 언어로 개발하려니 좀 답답한 면이 없지 않아 있습니다. 6개월 정도 소요되는 프로젝트에 사용할 언어이므로 점점 더 좋은 점이 와닿을 거라 기대하는 중입니다.


이상 Grails 에 대한 소개글이었습니다.

반응형