Grails 2 vs Grails 3 - grails

I'm rather new to grails and I'm about to start a new grails project. I'm very confused with what version to go with based on the tools not being ready to support the newest version. I've read version 3 was a complete rewrite from ground up which my gut says should be the version to go with considering the project is brand new, but I'm discovering none of the tools are ready for version 3.
I was successfully able to get version 3 up with intellij with out grails support and the same goes for ggts.
With that being said, I don't know how to run the app in ggts since grails-runapp doesn't work
with ggts, I used the following tutorial https://tedvinke.wordpress.com/2015/04/10/grails-3-released-installing-gradle-and-groovy-2-4-support-in-eclipseggts/ but I've been able to figure out how to get the app to run. Does anybody know how to do this?
My questions are
How do I run a Grails 3 app in GGTS.
Is it recommended to use Grails 3 at this point or should I use Grails 2
If you use Grails 3, what is the recommended IDE?
With Intellij I had to run it by going to the grails-app/init project run main. Is this the correct way to do it?

As of Grails 3 you don't need a special IDE To run Grails 3 application. all you need to do is to right-click on the Application class and execute to start your Grails application. To read more about IDE integration https://grails.github.io/grails-doc/latest/guide/introduction.html
Currently, not all plugins are upgraded to Grails 3. So if your project depends on some plugins that are not already upgraded this will be an issue. For example spring security is not upgraded yet, but there is a work around to use it.https://groups.google.com/forum/#!searchin/grails-dev-discuss/spring$20security/grails-dev-discuss/jOF0jw_BiCs/tOxd0NZpaxkJ
Finally, both Intellij community edition and GGTS supports Grails3. But if you want special grails features like GSP syntax highlighting use GGTS or IDEA Ultimate edition.

IntelliJ idea 15 is out. Try that. The support for Grails 3 is built in.
Choose Grails 3 instead of Grails 1/2 in project selection.

I have 6 projects running Grails 2 for over 1 year.
So far I have not encountered any need to upgrade them to Grails 3.
I use the latest edition of IntelliJ Ultimate 2016.2, and for the most part it works good with Grails 2. The debugger still throws a lot of EVAL errors, but I am able to evaluate my variables in real time.
The biggest problem I've encountered so far is plugins that are not compatible with Java 1.8. Some of the plugins still have to run in Java 1.7.
Lastly, I'd say if your project is still new, look into using NodeJs. It seems to be more popular than Grails at this point.

I think intellij is better for development in grails from my experience.
Grails 3 will be good choice for development. there are lot more features in there
https://dzone.com/articles/whats-new-grails-3
also document site will give you clear concept about it
http://docs.grails.org/latest/

Considering the fact that grails version 2 is different from grails version 3; it will be good if you start with version 3 and avoid the possibility of running into upgrade issues from 2.x to 3.x in the future
You can use Netbeans or Intelij. I use Netbeans.

Facing a lot of issues in Database migration in Grails 3.1.6. Not helping at all.
I think remaining a few days in version 2 will be beneficiary as long as version 3 stables.
Besides The GGTS support will be needed as Intellij IDEA 15 community edition does not support Grails. So better back to the old versions.

Related

Is Netbeans 14 still not supporting Grails project?

Netbeans 8 works quite well with Grails. I can click New Project to create a new Grails project. Netbeans 8 can show the project with Domain, Controller, Views folders on the left nicely. I can even debug the project with breakpoint. Netbeans 8 only works well with Grails 2. But at lease it can show the project folder structures nicely with newer versions of Grails like 4 and 5.
Netbeans 14 is missing all of these with/without the default Groovy plugin. It can't even open a simple Helloworld Grails project I create using the grails create-app helloworld command.
I googled Netbeans and Grails but the posts were quite outdated from many years ago. They said to use the Netbeans 8 Groovy plugin.
Is there any updated way to setup Netbeans 14 to work with Grails?
I attached 2 pictures. One is how it looks with 14. The other is how it looks with 8.
Unfortunately, I think the answer to your question is that Netbeans 14 does not support Grails. It's tough to prove a negative, but there is very strong circumstantial evidence of that being the case:
If you go to the homepage for Apache NetBeans there is a Plugins menu entry,and clicking that yields a list of the 62 available plugins. If you search that list list for "Grails" nothing is returned, so there is no "official" plugin for Grails.
Within NetBeans 14, if you select Tools > Plugins and search the Installed and Available Plugins tabs for "Grails", nothing is returned.
If you review the "What's Changed" entries for NetBeans 14 there is no mention of Grails.
Note this comment from GeertJan Wielenga, Release Manager for Apache NetBeans in 2019 (emphasis mine): "I would recommend to keep the name at Groovy, because otherwise when we re-add support for Grails, we’ll need to call it ‘Groovy, Gradle, and Grails’. And anyway both Gradle and Grails derive from Groovy, so keeping the name Groovy makes sense."
Notes:
For some releases since NetBeans 8.2 it has been possible to add Grails support using the old 8.2 plugin (e.g. this answer), but the approaches were brittle, and did not offer any functionality beyond that available in NetBeans 8.2. I suppose you could try a similar workaround to get Grails running on NetBeans 14, as described in SO answers for other NetBeans releases, but stability might be an issue.
For what it's worth, Intellij IDEA provides a Grails plugin, though I haven't tried it.
Finally, Grails not working in NetBeans 14 should not be viewed as a NetBeans issue. Instead, it's a third-party plugin issue, and as far as I know there has been no development on the 8.2 plugin you are currently using for years. (That said, it would be helpful if the NetBeans documentation for each release formally stated any new functionality, and any functionality that was no longer supported, or no longer worked.)

Can i upgrade directly from Grails 2.x to Grails 4.x bypassing all median levels

I am having an application build on grails 2.2.4. I need to update it to grails 4.0.8 Can i upgrade directly. As i checked from various sources, i need to jump first from 2.2.4 to 3.x then thereafter 3.x to 4.x. Please suggest me optimum way to do this upgrade.
Similar to other question about Grails upgrades
Major version upgrades in Grails are rarely trivial. I'd suggest starting a new app in the target version, and migrating classes/functionalities.
In Grails framework, the effort required to update your application depends on multiple factors, such as:
The standard practices. For instance, the persistence stuff in the Grails services instead of controller or domains itself.
The underline plugins your application depends on. You would need to update to the latest version of the plugin, or in some case find an alternative approaches as the plugin may longer be maintained, or there maybe better ways of doing it. For instance, we had some custom plugin for multi-tenancy back when I started with Grails, But now, GORM has great support for multi-tenancy.
I personally think you should directly jump from Grails 2 to Grails 4 by creating a new application, and then move your source code. But, first you need to identify all the variables such as plugins or libraries.

Grails upgrade from 1.3 to 2.4

I have a legacy grails app running on 1.3 on Java 6 with tomcat 6.
We need to upgrade to java 8 on tomcat 8.
Is it possible to upgrade grails version from 1.3 to 2.4.5.
Lot of compilation issues and some of the holder classes are missing.
Please suggest.
The easiest way we've found to upgrade between incompatible versions of Grails is to create a new application in the new version, and migrate the services/controllers/src directories into the new application.
You will need to keep in mind various changes (like the Holders classes you mentioned, which are now part of Holders in grails.util.Holders, iirc). Also, you'll probably need to upgrade any plugins you use to newer 2.4.x-compatible versions as well (specifically spring-security, etc.)
It's not an easy task, but it can be done. We've migrated from 1.x to 2.x before, and from 2.2 to 2.4, and we're currently migrating to 3.x. BTW, since you're migrating, perhaps moving to 3.x would be a better move?
Good luck!

Upgrading from Grails 2.x to 3.x

I am working on a Grails 2.3 project, and they ask me have to do a study to see if it is possible to pass on the 3.x version of grails.
you can tell me what is it advantageous to switch to the version 3.x, and what's the best way for the update properly.
at the environment working I guess GGTS not supporting GRAILS 3.x, then it is mandatory to work with IntelliJ IDEA.
This section of official documentation covers the topic nicely
Upgrading from previous versions of Grails - Reference Documentation
http://docs.grails.org/latest/guide/upgrading.htmlv
You can also check the following presentation on the topic of the migration
Migrating from Grails 2 to Grails 3
http://www.slideshare.net/SpringCentral/migrating-from-grails-2-to-grails-3
Yes, GGTS currently does not support Grails 3.x, so IDEA Ultimate edition is probably the best choice as described in STARTING WITH GRAILS3 – CHOOSING AN IDE.

Does Grails 2.3.x Support JDK 8

It seems like this questions should be easy but the installation requirements for Grails (http://www.grails.org/Installation) haven't been updated in 2 years. Does anyone know for sure is Grails 2.3 will run on JDK 8?
As noticed by heikkim this ticket which is now closed suggests that support for Java 8 will start on Grails 2.4:
http://jira.grails.org/browse/GRAILS-11063 (title: Java 8 support)
Tried an app (built on v2.3.7) on JDK 8 and hit a road block with database-migration plugin while compiling the app. If that particular plugin is commented out then everything looks good during compilation.
Running the app (with a sample controller) throws an error related to withFormat method from grails-plugin-mimetypes. Looking into it.
Raised an improvement defect for grails-database-migration plugin. I think this may not be required as well but making grails JDK8 compatible might need changes in grails-core. However, I have not checked with latest milestone build for Grails 2.4 which might already be taking care of those compatibility issues.

Resources