Hello! Actually we had the same issue and decided to migrate everything to Node.js and ExpressJS! And I regret it. Not because Node or Express are bad. Actually they are awesome and powerful frameworks that we use for almost all our microservices needs. But we regret it because the time we spent doing this conversion (development, testing, integration testing, new staging and productions servers, and environments, etc.) vs. the returns we had in terms of practicality or modernization, were not justifiable. The truth is that, even though Grails and Groovy are not as famous or are as widely adopted as Node and Express, they are robust, well maintained, designed, and implemented frameworks that have everything you should need for almost every need and they get better every year. So, if I were you, I would stay with Grails and Groovy for existing projects that already were implemented with those technologies. However, for new ones, mainly for community, and developer acceptance, I would go with Node.
Hope this helped!
Thanks for your comment. 30 percentage of the application is already build a few year ago . Now we want develop the remaining. Therefore, we are thinking of a new application altogether for the remaining part with new technologies with an API level interaction between the new one and the old one. There is no plan at present to rework the exiting one to new technologies.:)
I would probably stick with the same tooling depending on how large the code base is. The grass is always greener as they say. The reality is almost all general programming languages can suit the needs of your typically app that just needs to read/write and report on data. You can always pull in various services or build your own with other languages, databases, and tools that are more purpose built if you have the need...though it's usually easier to use that strategy on the web. So if you're talking about desktop software, then we're in a different ballpark. There are other considerations too. If the current code base is so full of tech debt and so confusing, you may want to start fresh. Particularly if it was an app that was built and changed from the very beginning as hindsight is 20/20 and you now know things about how the app needs to work that you didn't know before. Another consideration is cost to maintain and build. If you need additional resources, what's the cost and availability of programmers that can code Java and the Groovy framework or those who can code Node.js (I'd suggest Typescript if starting fresh) and Express. There's really no right or wrong answer here at a high level and you're not doomed for going either way. You just may be able to be more cost effective depending on your situation.
Thanks for your comment. 30 percentage of the application is already build a few year ago . Now we want develop the remaining. Therefore, we are thinking of a new application altogether for the remaining part with new technologies with an API level interaction between the new one and the old one. There is no plan at present to rework the exiting one to new technologies.:)