Grails는 그만한 가치가 있습니까? [닫은]
반쯤 호언 장담하고 반쪽 질문입니다.
Grails를 사용할 가치가 있습니까? 비교적 간단한 데이터베이스 기반 웹 애플리케이션을 개발하려고합니다. 내 전문 지식은 Java에 있으므로 자연스럽게 Grails가 좋은 선택처럼 보였습니다. 처음에는 Spring, JPA 및 Hibernate를 사용하려고 생각했지만 이전에 사용했으며 모든 종류의 지루한 구성 및 코딩 작업을 수행했습니다. Grails는이를 해결하는 것으로 스스로를 광고합니다.
Grails에 대한 저의 가장 큰 좌절은 작동하지 않는 모든 사소한 것입니다. 내 말은 직관적으로 생각하는 것처럼 작동하지 않는다는 것입니다. 가장자리가 매우 거칠다. 나는 끊임없이 문제에 부딪친 다. 때로는 Grails에 대한 이해가 부족해서 합법적 인 Grails 버그를 발견하기도했습니다.
한 가지 중요한 문제는 좋은 Eclipse 통합이 없다는 것입니다. Groovy 및 Grails 플러그인이 있지만 구문 강조 표시 외에는 많은 기능을 수행하지 않습니다. Java에서 Groovy를 호출하거나 그 반대로 호출하는 것은 구성 하기가 매우 어렵습니다 . 좋은 IDE 지원이 없다는 것은 큰 문제입니다.
웹 응용 프로그램을 개발하려고 앉아 있습니다. 하루가 끝날 무렵 Grails 관련 문제를 디버깅하는 데 하루의 약 85 %를 소비했다는 것을 알게되었습니다. 이클립스 문제가 아니라면 eager loading , fetching in the view , 일대 다 관계 , 이상한 빈 파일 버그 동작 , 이상한 속성 / 게터 버그 -그냥 계속 진행됩니다. 이것은 내가 오늘 만난 문제의 샘플에 불과합니다. 마지막으로 Grails를 사용하면서 여러 가지 문제가 발생했습니다.
나는 때때로 그만한 가치가 있는지 궁금합니다. 다른 사람들이 이것을 경험했는지 궁금합니다. 실제로 Grails를 사용하여 웹 애플리케이션을 생산적으로 구축하는 사람들이 있습니까? 빠른 웹 개발을 위해 고려해야 할 다른 프레임 워크가 있습니까?
0.6B에서 Grails를 배운 노련한 Java 개발자 12 명으로 구성된 팀이 있었으며 우리 모두는 여전히 Grails 기반 프로젝트를 진행하고 있습니다. 저는 기꺼이 Java로 돌아 가지 않을 것이며, Grails 앱으로 빠르게 어딘가로 이동하는 방법을 망각 한 것에 대해 모두 안심하고 있습니다.
투쟁이었고 쉽지 않았고 좌절감이있었습니다.
그럼에도 불구하고 우리는 우리의 지속적인 노력을 감안할 때 매우 빠르게 무언가를 제공했습니다 .. 해결 방법이있는 버그가 많습니다.
저는 Java에 능숙한 개발자들이 Grails 프로젝트의 깊고 복잡한 주문에 뛰어 들려고하는 여러 사례를 들었습니다. 우리는 모든 Java를 피하고 pure-Grails와 Groovy를 사용했습니다. 우리는 단순하게 시작하고 가능한 한 관리하기 쉽고 실질적으로 복잡성을 구축했습니다. 우리는 감히 가장 깊이 빠져들지 않았으며 Java 지식이 우리를 충분히 이끌 수 있기를 바랍니다.
우리는 결국 엄청나게 작동하는 거대하고 복잡한 것을 만들었고 순수한 Java / Spring / Hibernate 버전을 작성하는 것보다 훨씬 빠르게했습니다. 그리고 그것은 적절한 IDE 지원이없고 오늘날보다 버그 측면에서 훨씬 더 나쁜 상황입니다.
Eclipse 지원과 관련하여 Grails / Groovy에 사용할 수있는 유일한 IDE는 Intellij입니다. 이클립스 지원은 뒤쳐져 있습니다. 슬프게도 저는 Eclipse 애호가 였고 Intellij 변환과는 거리가 멀습니다. Grails / Groovy 지원은 다른 모든 것을 날려 버립니다. 그러나.
예, Grails는 아마도 Spring에 비해 미숙합니다. 또는 최대 절전 모드. 그리고 나는 그들의 존재의 첫 1.5 년 동안 그들은 똑같이 문제로 가득 차 있었다고 장담합니다.
그 자체로, 복잡성을 최소한으로 유지하고 신중하게 테스트 우선 (우리의 의견)을 세 심하게 테스트하고 점차적으로 신중하게 복잡성을 구축 할 책임이 있습니다.
스택에 Spring / Hibernate를 포함 시키면 Java로 빠른 코드 솔루션이 없습니다. Grails가 구현하는 복잡성은 Spring / Hibernate 자체의 복잡성을 반영합니다. 순수한 Java로 시간을 보내는 것이 더 낫다고 생각한다면 다른 방법으로 주장하지 않을 것입니다. 저는 여전히 제 WTF를 가지고 있지만 이제는 가파른 학습 곡선이 제 뒤에 있으므로 Grails에 좀 더 집중할 것이라고 생각합니다.
나는 두 가지 이유로 성배 신청서를 작성하는 것을 매우 좋아합니다.
- Java를 사용할 필요가 없습니다.
- Java를 사용할 수 있습니다.
성배에 익숙해지면 그의 일을 매우 빠르고 우아하게 처리 할 수 있다고 생각합니다.
플러스 측에 너무 많이. 마이너스 측면은 성능이며 배포 및 테스트 주도 개발이라는 두 가지 측면에서 저에게 충격을줍니다.
메모리 및 성능 제한에 빠르게 도달했기 때문에 단일 (대여) 서버에서 3 개 이상의 grails 애플리케이션을 실행하지 못했습니다. 포함 된 프레임 워크가 너무 많습니다.
또한 성배의 테스트 러너는 그 이름의 가치가 없습니다. 단위 테스트를 실행할 때는 10 ~ 20 초가 아닌 즉시 수행해야합니다. 그래서 나는 그것을 훨씬 더 빨리 테스트 할 수 있기 때문에 항상 평범한 자바로 비즈니스 로직을 작성하고 있다는 것을 알게된다. 하지만 IDE (eclipse)에 더 잘 통합하면이 문제를 해결할 수 있다고 생각합니다.
Spring의 Grails 지원이 큰 도움이 될 것이라고 생각합니다. 누구든지 웹에서 CRUD를 지나서 이동할 수 있다면 바로 그 사람입니다.
나는 또한 그것이 임계 질량에 도달하고 있다고 생각합니다. 2009 년에 시장에 출시 될 몇 가지 새로운 책이 있습니다.이 책이 채택률에 도움이 될 것입니다.
나는 원래 포스터 감정에 전적으로 동의합니다.
We are a Java + Spring shop and took the opportunity to try out Grails. We first created a very small test application which turned out to be pretty simple to do and it worked pretty well. The main issues we had here were due to our lack of knowledge with Groovy and Grails.
Following this success (confidence boost) we decided we would attempt a slightly larger project. This has been a much more painful experience. As mentioned by others, we have uncovered all sorts of bugs and issues which were not immediately apparent on the surface. The app restart cycles get extremely painful and unless you have really good test coverage its a nightmare to do any sort of re-factoring.
Really frustrating is having code fail without a single error message! It just does not work and you don't know why?
I like the ease of use of plugins for JMS, Quartz and Remoting to name a few. Does away with a lot of tedious XML.
I almost like GORM for its simplicity though we have had several issues as well.
I don't like the loosely typed nature of Groovy and the fact that you have to run your application just to be able to catch a bunch of errors, reminds me too much of PHP or Rails.
At the end of the day we are asking ourselves if its possible to write a complex piece of manageable software using Grails...
We have a Grails application about to go into production....so we will see.
We are using grails + on the web layer + java with hibernate and spring on the service layer. It's the classic three layers (web, logic, data) where the web is grails and the logic is implemented in java. As is usual in java, we use bean objects that represents the data between different layers.
It works pretty well and it was the best solution for our case as the bean objects were already there, as well as the database structure. From our experience, I think grails has a great value as the web presentation layer, but I would stick with java to write the business rules and to persist the application data - as grails "is" java, all the grails-java integration is pretty straight-forward.
We use eclipse to develop the grails application and it's poor integration, as people said in here. But, as a suggestion from other developer, we run the grails application from the command-line and only use eclipse to save the source files, and it works pretty well, as the application is updated on the fly.
I yet don't feel comfortable for using grails in other places than in the presentation layer.
I am totally with you! Grails still feels so rough around the edges that it's almost a joke to compare it with Rails. If at least the error reporting was a little bit better. But I guess that's probably also due to the huge amount of libraries that it uses under the covers. One word: stacktrace! I am also not a big fan of the model->db approach (Rails has db->model). The scaffolding also leaves much room for improvements. Then "no restart required" also does not work as advertised. (I am not sure what's worse - having to restart all the time or sometimes finding weird behaviors that go away when you do restart) And don't get me started on GORM. (When it takes hours to find a way what would have been a simple SQL you start to wonder whether this whole ORM really saves you time) Maybe as long as it is simple.
I mean: it's still one of the better choices of a framework when you are coming from the java world. (So much useless crap out there that calls itself a web framework) ...it has potential. I just wish it wouldn't have build on top of so much other complex stuff.
Anyway - let's hope these things get sorted. At the moment I am lurking at playframework.org which also looks very slick and promising.
I have a lot more experience with Ruby on Rails than I do with anything in the Java world, so I'm coming in from a different perspective. Overall, Grails is much more rough-around-the-edges than Rails is, partially due to its immaturity, and partially because it relies on two insanely complex frameworks under-the-covers (Spring and Hibernate). Rails also has a much bigger community.
But, Groovy as a language has made huge strides, and is a pleasure to work with. Thanks to the improvements made in Groovy 1.6, Grails is quite a bit snappier than JRuby on Rails, and you get amazingly good XML support via GPath. There's a lot of nice features you get by being on the JVM (like concurrency and tons of threadsafe code), but without having to muck about with Java (a language I don't much care for), so I'm having a really hard time of convincing myself to use anything on MRI.
Python is looking tempting, though, I must admit.
As for your Eclipse problems, I can't help. I use Vim and Emacs, mostly because I can't stand using IDEs. For dynamic languages like Groovy, Ruby, and Python, though, I don't think IDEs really introduce any real benefit, as there isn't really any place for code generation, or a need to compile. Maybe try working sans IDE for awhile and see if things are smoother?
So, yeah, I think Grails is worth it. They've done a helluva job in getting things working as quickly as they have, and the Grails and Groovy teams are both really, really dedicated.
It will be worth it when they finish the eclipse plugin. The sooner the better I say. Trying to sell groovy to my boss isn't going to be simple until that happens.
I was an Eclipse user before I started using Grails. It was quickly apparent that wasn't going to cut it. So I tried Intellij and NetBeans. At the time Intellij was better as far as Groovy and Grails were concerned. However, NetBeans was free and that made it good enough for me. Since then all three have had new versions or new plugins released. I am still using NetBeans because of the cost of Intellij. With the acquisition of G2One by Spring Source one of the expectations is more support for Groovy and Grails in Eclipse. This will be necessary for increased adoption.
Using Grails for a new project is wonderful. So much of the Enterprise Java baggage is no longer necessary. I can imagine trying to port something would be difficult because until you understand where a framework strength's and weaknesses are it is hard to utilize it efficiently. It is promised that JSP support will come easier in Grails 1.1, I don't know if using a beta version while trying to grok a new framework is a good idea. The testing has also gone through a major revision for the new version. If time allows you may consider waiting as the 1.1 release should be very soon.
If you have an opportunity to give Grails a try in a different IDE when starting a project from scratch I think you will see it in a different light.
I find that the biggest advantage of Grails is that I don't have to care about the database anymore - the schema is automatically created / updated, and the persistence is largely done for me (no more writing SQL queries). This is a huge relief. The other thing that is rather nice is that once you settled on the templates for controllers and views, adding new domain objects is pretty fast. Although I suspect that you will do ongoing changes for your views at least, back-fitting them to the existing ones.
As for the IDE - it seems that IntelliJ is the best option, but I'm happy using Netbeans 6.5. I use MyEclipse for all other development, but Netbeans just has better Grails support now.
I have just started using grails on a new project...not having to write ANY xml files yet still have the power of Spring and Hibernate is truly amazing.
Use IntellijIDEA for the IDE though, I actually discovered Grails through the IDE (I might be biased though, I hate eclipse).
Totally. There are so many Java frameworks that the bar is set quite high for newcomers, and it's a testament to Grails that it was able to rise above in such a crowded space.
It still has a few edges that are sharp, but those are just a matter of time before they're matted down, the underlying project is VERY much worth it.
Grails might be to big for your type of application (based on the numerous files it created on the first initialization and the resources it takes). If you're looking for something simple, Grails might not be what you're looking for. If you are looking for something simple and works, so far I reckon django can do your job well. Take a look at how simple (how many files it requires) to create a CRUD apps from its tutorial. From here, your apps can (relatively) easy to scale as your needs and requirements grows.
I'm not sure they will ever be able to make Grails right you know. And by right I mean address all the details (small and big ones) which in the end makes it feel brittle and fragile. I'm not even sure that there is a real development team (meaning more than 2 people) behind it.
Every single time I iterate over a feature of my Grails projects, trying to improve something, it is the same workflow: everything falls apart, then it's a hundred of 'google' test cycles, then you find out the reason you can't do what you want and you do something else.
In the end, you're frustrated because you don't even want to touch anything that runs. And things that don't well, you drop them!
I'm considering a switch to Rails via JRuby. That may be the best of both worlds: a capable web framework with an active and large community, a dedicated team of developers, a platform which is not based on questionable and complex frameworks like Spring or Hibernate, a quick and ambitious release cycle. And JRuby because frankly, so many Java assets in my backpack, I can't just throw them away.
If your expertise is in Java as you say. You should have a look at Play Framework - it's a web framework inspired by Ruby on Rails with a very short development cycle - just save your Java source file and update your web browser. And if you want to try another language, Play Framework has a module that let you use Scala instead.
I like Play Framework since it's easy to understand and has good performance. You can also use JPA and Hibernate for the ORM-layer if you want.
참고URL : https://stackoverflow.com/questions/397228/is-grails-worth-it
'IT story' 카테고리의 다른 글
Guava의 선택 수업의 요점은 무엇입니까 (0) | 2020.09.11 |
---|---|
호스트가 그룹에 속하지 않는 경우에만 작업 실행 (0) | 2020.09.11 |
이메일 서명의 base64 인코딩 이미지 (0) | 2020.09.11 |
mongodb 컬렉션에서 최신 기록 가져 오기 (0) | 2020.09.11 |
C ++에서 조건부 typedef를 만드는 방법 (0) | 2020.09.11 |