I am contemplating attempting to build a complete MVC framework extension for Lucee written in Java. It probably sounds absurd to do something like this when there are a couple very good MVC frameworks already out there written in CFML and are portable across Coldfusion and Lucee. My reason behind it is mostly just to learn more about Java since I am still pretty new to writing Java applications, but also I would like to learn more about the inner workings of Lucee. I am curious if any experienced Java/Lucee core developers here could tell me if there would be a performance increase by writing all of the core MVC framework code in Java? My assumption is that depending how it is implemented there could be a noticeable performance increase over the CFML MVC frameworks.
While not a core developer for Lucee… I will make a few observations.
First, at the end of the day CFML code is compiled to Java classes, so performance-wise I’d say it’s a bit of a toss-up as to whether or not an MVC extension to Lucee would be any faster than the MVC frameworks available in CFML.
Second, if you’re going to build and MVC in Java, then… build it in Java. Performance will be best building an MVC framework independent of Lucee.
That said, if your goal is to learn more about the core of Lucee… might I suggest digging into backlog (or even active) tickets and seeing if you can solve them. That’ll get you more experience with the core than anything else, frankly, and would help the team and the community if you can solve issues and push tested commits.
My 2 cents on the matter. HTH!
I would second the idea to dig into the Lucee backlog if you’re just looking to learn more about Java. ColdBox MVC is very fast and I’ve never seen it be a cause of a performance bottleneck (those usually come from DB calls, 3rd party web service calls, or un-optimized application code).
A vanilla ColdBox request on my machine can be as fast as 5ms which is only a couple milliseconds more than just hitting a .cfm directly. If you’re looking to optimize your application, I’d say it’s safe to say that focusing on the MVC framework is not going to score you any low hanging fruit.