我已经玩了一段时间的电话, 在我的Android上做了一些测试...
非常好。
我的问题是:
使用Web客户端(HTML / JavaScript / CSS)开发本机移动应用程序的最佳(您最喜欢的)框架是什么?
在多平台(iOS / Android / BlackBerry)中并行构建和维护这些应用程序有多容易? 不同平台(iOS / Android / BlackBerry)之间有很多例外吗?
为iOS开发我的应用有哪些要求? 我需要一个带有特殊SDK的特殊IDE吗?我必须有Mac吗?
答案 0 :(得分:14)
我们目前正在使用React Native构建原生iOS应用程序。如果不包括在内,那将是一种耻辱。
优点:
缺点:
在多平台上构建和维护这些应用程序有多容易?
React Native for Android于2015年9月14日开源。我还没有使用它,但这是我迄今为止所学到的。 Update 10/21/16:今年早些时候宣布了Windows Universal Platform的React Native。这意味着您现在可以使用React Native为Windows桌面,Windows手机甚至Xbox构建应用程序!
React Native 不意图是一次写入,随处运行的心态。他们采用一次学习,改写任何范式。 iOS是一个与Android不同的平台,因此需要在任一平台的设计中付出真诚的努力。原生API也会有所不同。
因此,您最终将重写本机组件和API的代码。但是,您的大部分应用程序逻辑都可以重复使用。实际上,React-Native是有条理的,因此您可以将Android和iOS应用程序保存在同一个存储库中,以便在可能的情况下重用相同的代码。我认为这很棒,但只有时间会证明。 According to them,到目前为止效果很好。
顺便说一句,Facebook built an iOS app using React Native的一个团队随后转而使用87%的相同代码库在三个月内构建了Android版本。
为iOS开发我的应用有哪些要求?
目前,您需要Mac和XCode才能进行部署。目前,解决这个问题的方法很少。根据{{3}}以及Slack上的对话,一旦部署,您实际上可以从Windows或Linux机器开发。 Facebook还致力于开源所有this issue软件包,根据Nuclide,这些软件包将包含无需XCode打包和构建的工具。
总的来说,React Native一直是一个很棒的体验。在我看来,这是目前在那里的头脑和肩膀。社区内的感觉也非常积极。我只能假设随着时间的推移它会变得更好。
答案 1 :(得分:4)
如果您的应用程序非常简单(例如现有Web应用程序的端口)并且您只需要在一个平台上使用它并且不需要与手机特定功能集成,您可能只想使用WebView选定的平台。如果您选择的平台是iOS并且您没有任何编程技能,则可以按照以下步骤操作:
这种方法的优点:
答案 2 :(得分:3)
这是一个不断变化的舞台,它只会变得更好。在您感兴趣的时刻谷歌搜索将是最好的选择。在撰写本文时,我现在正在观看以下内容,没有特别的顺序:
答案 3 :(得分:1)
这些是选项
Phonegap:http://phonegap.com/
PhoneGap是一个免费的开源框架,允许您创建 针对您关注的平台使用标准化Web API的移动应用程序 关于。 。下载Phonegap.
Coronalabs:http://coronalabs.com/
Corona SDK为iOS,Android,Kindle和Nook构建了丰富的移动应用程序。 在很短的时间内构建高质量的移动应用程序。
Appcelerator:http://www.appcelerator.com/
Appcelerator是唯一支持企业的移动第一平台 创建,提供&分析他们的移动应用程序。
答案 4 :(得分:1)
如果您尝试使用javascript构建移动应用,那么Phone Gap看起来确实是您的最佳选择
是的,你需要一台mac,因为你需要安装XCODE(https://developer.apple.com/xcode/) - 苹果自己的IDE。
答案 5 :(得分:0)
如果您投入一点学习新的脚本语言,Coronalabs将成为您选择的新武器。有了它,您可以构建本机(跨平台)应用程序,如果需要,您可以使用webview添加HTML / CSS / Javascript内容。
答案 6 :(得分:0)
目前,React Native是在JavaScript中创建移动应用程序的最佳选择。
以下是我的三大理由:
非常活跃的开发和更新 - 毕竟它起源于FB
可忽略不计的学习曲线
我能够编写一个小型但功能强大的应用,没有以前的React Native体验,甚至可以在2天内将其部署到Google Play商店。
我在React Native中看到的另一个好处是,您可以随时“弹出”您的应用并继续在Android Studio或XCode中处理它。对于那些开始变得简单但在一段时间内变得复杂的项目来说,这可能是一个很大的缓解。
这是我在为Android构建我的第一个原生应用程序时整理的简短教程: http://geekycentral.com/creating-a-native-android-app-using-javascript-hello-react-native/