5 ms·
Cool to see this. By my count we now have, in no particular order: - React Native from Facebook (https://github.com/facebook/react-native https://github.com/fa
by sheraz 12y ago
Cool to see this. By my count we now have, in no particular order:
- React Native from Facebook (https://github.com/facebook/react-native https://github.com/facebook/react-native)
- Appcelerator's Titanium and Alloy Frameworks (http://appcelerator.com http://appcelerator.com)
- Telerik's Native Script (http://telerik.com/nativescript http://telerik.com/nativescript)
- Xamarin (http://xamarin.com http://xamarin.com)
As I understand it, all three of these frameworks have a JS (or C#) runtime that is compiled along with the app. This JS runtime is what drives the app and uses the native features of each platform (iOS / Android).
I've been building on Appcelerator for the last 4 months on some basic apps, and it works pretty well.
I look forward to trying out some toy apps on the other platforms.
- emmanueloga_ 12y agoDon't forget http://robovm.com/ http://robovm.com/ (basically java for ios).
- badlogic 12y agoThanks for remembering and mentioning us. We don't have as huge a marketing budget as the other folks, so I'm going to shamelessly piggy back on your comment here. We also do Scala, Kotlin, Clojure etc. and we are OSS as well (we started out as OSS). You can build unlimited apps without paying us a dime. You can also compile the entire compiler plus Eclipse/Idea/Maven/Gradle integration yourself so you aren't locked in. We expose all iOS APIs and have a custom bridge besides JNI to make binding and subclassing of Objective-C APIs and C APIs as seamless as JNA or p/invoke, but without performance overhead. We use LLVM to compile JVM bytecode to native code directly, so performance is excellent and on par with Objective-C. At this point you can write apps for iOS and Android, using the native UI APIs, and share business logic between them and your backend, if that's also JVM based. I personally think that using native UI APIs is best. However, for CRUD or enterprise apps you may not care about shininess, which is why our next focus will be on a cross-platform UI toolkit for Android and iOS. You do have to pay for debugging support, interface builder integration and SLAs/hotfixing. We hope that's a fair way of supporting our OSS work. Now I feel dirty...
- jackweirdy 12y agoSo if I have a common business logic library in Scala, could I build that into both my app and my server side? Write once, run in 2 environments?
- badlogic 12y agoYes
- d0m 12y agoIt's okay, I think you added to the overall thread : )
- evv 12y agoIn the case of React Native, we don't actually compile a JS runtime. We avoid that overhead by using whatever JS environment is available on the platform. In the case of iOS, we use JSC.
- ch0wn 12y agoMy last update (from two weeks ago or so) was that you were going to bundle a JS runtime for Android as there's too much variation in earlier versions. Has that changed?
- evv 12y agoAh- I stand corrected! I spoke with a few Android-focused folks and they set me straight. On Android, there is no JS execution environment available. We want to avoid the memory and cpu overhead of web views. So we are basically forced to ship Android with a copy of either JSC or V8.
- ch0wn 12y agoCool, thanks for the update. I'm curious to see what the memory footprint of the JS engine is going to be.
- jlees 12y agoThere's also Scripting Layer for Android: https://github.com/damonkohler/sl4a https://github.com/damonkohler/sl4a
- brokencode 12y agoI would love to see a comparison between some of these different frameworks. HN is abuzz about React Native, but is it really that much different than the others? In particular, do the others attempt to be declarative like React Native? Is the performance comparable? The main advantage I see is that it's open source and free (with some patent caveats).
- Bahamut 12y agoFor those who like React (especially with the performance gains of React over the major frontend frameworks excepting Angular 2), it is also a huge positive - part of the problem with hybrid apps currently is performance problems. React assists with this greatly, as seen by the performance metrics out there.
- declan 12y ago>By my count we now have, in no particular order... There's also Corona SDK, which uses lua and OpenGL. Write once, build for Android, iOS, and Windows Phone 8. UI performance is quite good. Supposedly building Mac and Windows desktop apps is coming soon, but HTML5 support was announced a year ago and has not yet happened. The free version of Corona SDK supports only a subset of the native APIs (albeit an extensive subset that's probably sufficient for 95% of uses). If you want the full set, you have to pay $1,000+ a year for Corona Enterprise and implement your own os-specific glue logic.