Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Codenameone, Intel's multi-os-engine or Oracle's MAF?

Microsoft is discontinuing RoboVM and I am not even trying to figure out the hassle in companies and startups who have invested in this framework.

I see three more JAVA cross platform mobile frameworks sitting out there: Intel's multi-os-engine https://software.intel.com/en-us/multi-os-engine , Oracle's MAF http://www.oracle.com/technetwork/developer-tools/maf/overview/index.html and https://www.codenameone.com .

Has anybody full knowledges of these frameworks? What about their project health? Is among them any other candidate that we will see to fall apart the same as it was in the case of ROBOVM?

like image 881
ronline Avatar asked Oct 15 '17 22:10

ronline


1 Answers

I'm the co-founder of Codename One so I'm pretty biased. Notice you also missed J2Obj-c which is an important option. Codename One predated RoboVM by a while and unlike it we have a business model/revenue which makes long term support more likely.

I don't want to spread FUD about MAF/MOE so if I got any facts wrong please correct me as I haven't kept up with everything. AFAIK MAF doesn't have much traction, it used to package an interpreted VM and just provide a bridge to Cordova with a few additional plugins. It seems most of Oracles resources are with JET. Back in the day I found a PDF that indicated that MAF has an annual licensing cost of 50K per application, I can't find it now so I don't know if it's applicable but I suggest checking this thoroughly.

MoE isn't a product. It's been a "technology preview" for years and it won't leave that status. Intel stopped all mobile development a few years ago and fired everyone involved, the only reason this wasn't shut down is due to the fact that it isn't a product. It was open sourced but that's just like the open sourcing RoboVM. Both products are over-engineered solutions whose open source code is hard for 3rd party maintenance. It's a full time job to keep up with Apple. Our VM took a far more conservative approach which makes it both easier to maintain/keep up and makes it more efficient. E.g. a hello world in MoE would be over 50mb whereas we support features such as bitcode and can build a release version in under 5mb of size.

Furthermore MOE isn't WORA (Write Once Run Anywhere) which brings me to J2Obj-C which isn't WORA either. If you will sacrifice portability and buy a Mac might as well use J2Obj-C which is more forward compatible than MOE and smaller. It has simpler code and architecture so it won't break if maintenance stops.

like image 106
Shai Almog Avatar answered Sep 29 '22 23:09

Shai Almog