问题
Currently, I plan to port a Java desktop application, to the Android platform. Besides official Android SDK, I also take a look on, as it will be a plus, if it is able to run in iphone with minimal effort.
- http://www.rhomobile.com/
- http://www.phonegap.com/
- appcelerator.com
Those cross platform frameworks seem nice. However, I was wondering, what are the limitation on those frameworks?
- Will they still have the same look and feel as native Android application? (Or a native iPhone application)
- Is there any difference in the speed and responsiveness of the application?
- Are they able to provide same set of GUI components as in Android SDK? (Or iphone's)
- Limitation access to I/O, network resource, hardware?
- Ability to use threading?
回答1:
From my experience (my background being native mobile app development), we get a lot more control with native apps vs framework based apps. That advantage has greatly reduced in android and iphone platforms, however there are a few other things to condsider:
- If it is a one off app then you are better off working with the frameworks you mentioned, they provide all the features you asked about and for a beginner, are a bit faster to develop.
- If you are going to do multiple apps then it makes sense to have a custom framework for your needs. In this case you can reuse parts of your Java desktop app and absorb them into your framework. You will probably need to create iphone and android/java versions.
- If you create your own framework, you can also incorporate other software development best practices like CI more easily when compared to off the shelf frameworks.
- The UI components are different for Android and iphone and you are better off having them different as they have quite different sensibilities and interaction. So it may not be a good idea to aim for one to one mapping.
- Speed, performance etc are not an issue, same for threads support.
Hope these points help in your decision making process.
回答2:
This post will be immensely useful for you :)
Comparison between Corona, Phonegap, Titanium
As for threading - since both PhoneGap and Titanium (I cannot speak to RhoMobile) allow you to hook into native code from JavaScript (and the reverse) I see no reason why you cannot multi-thread an application using one of these technologies.
来源:https://stackoverflow.com/questions/4486234/limitation-on-mobile-cross-platform-development