我已经开发了一个功能齐全的网站,我们的团队希望将此网站导出到iPhone应用程序(最终是其他平台)。我能给出的最好的例子是我基本上已经制作了Facebook,现在我想制作Facebook的应用程序(从iPhone的主屏幕而不是从浏览器启动的应用程序)。显然,我们已经拥有了这些功能,我们只需将其转换为另一个平台即可。这有多难?我们是否必须制作一个全新的软件并基本上忽略我们已有的所有现有PHP代码?该应用程序基本上将与网站相同,除了一些布局更改。我们可能希望它能够访问相机功能并且绝对能够上传图片,我认为这会排除移动应用程序吗?我仍然不理解制作移动应用程序和从iPhone主屏幕启动的应用程序之间的界限。你们有什么建议从哪里开始,这一切有多难?如果我们能够获得我们想要的功能并通过使用现有代码使自己更容易,我们会很激动。
由于
答案 0 :(得分:9)
让我们从基础开始。
移动网站是通过手机网络浏览器访问的网站。 HTML页面由Web服务器提供(UI针对电话布局进行了优化)。
本机应用程序(通常称为“app”)本质上是一个可下载到手机上的可执行应用程序。对于iPhone,这些是用Objective-C编写的。对于Android,它们是用Java编写的。对于Windows Mobile,它们是用C#等编写的。
以下是您所面临的坏消息:
- 为了让您的应用程序从iPhone的“主屏幕”启动,必须使用Objective C进行编译。与Android / Java相同。
- 为了访问摄像头,需要使用Objective C(或Java for Android)进行编译。
所以这对你来说是个好消息:
- 您可以轻松地将原生应用程序编写为纯粹的UI前端,并使用REST API模型为业务逻辑调用现有服务器端代码。您只需公开需要向应用程序公开的功能。这是重用现有代码库并使应用程序更简单的一种方法。像RESTKit这样的好的Objective C框架使这很容易。
- 您可以使您的应用程序真的很俗气,并且基本上使它成为您网站的网络浏览器,但如果您不在某种程度上为iPhone定制它,Apple可能不会批准它。对于期望应用程序像应用程序一样执行的iPhone用户来说,这将是一种糟糕的体验。我不推荐这个。
- 如果您计划发布到多个平台上,或者实际上不想维护Objective C项目(以及将来的Java项目),您可以使用PhoneGap,Appcelerator Titanium或Sencha Touch等内容。这些包装器将采用Web技术(HTML 5)编写的应用程序,并将它们编译为本机应用程序。这些HTML 5应用程序可以访问相机等。您现有的开发人员不必学习Objective-C并且可以使用他们已有的HTML / JavaScript技能。这些技术有很多好处。缺点是你的应用程序看起来/感觉不如本机应用程序或使用手机的任何“酷”功能。它将像一个好的移动网站一样执行sorta。如果你有很好的UI /设计人员,你可以使用这些网络技术创造一些非常好的东西。但如果您只是想将网站模仿到本机应用程序(而不是创建下一个杀手游戏),那么出于多种原因,这可能是您最好的选择。
如果你使用google native app与phonegap(或sencha touch),那么有很多关于利弊的信息。这可能是你开始学习的好地方。
答案 1 :(得分:2)
除了@Joel的良好反应之外,您应该首先了解您应该为用户提供哪些功能,如果主要功能只能使用UIWebView
来查看网站只是为了能够如@Teofilo所说{@ 3}}在商店分发应用程序。目前,开发跨平台应用程序有不同的解决方案(即it is not allowed),允许您通过UIWebViews使用html5,ajax等技术为不同平台开发应用程序。
这取决于您希望提供给用户的功能类型,在本机开发的情况下,性能肯定是最佳的,因为您可以更好地控制应用程序和设备,但仍然可以方便地使用交叉-platform解决方案,如果共享功能易于实现,以便在不同平台上获得相同的结果。在后端使用什么样的技术也不是很重要,重要的是使用标准格式/协议进行通信(即http / json)。
这只是我的观点,我希望有人可以就这个话题给出他的看法,因为我注意到今天非常复发。
不过好问题。
答案 2 :(得分:1)
请参阅App Store审核指南第2.12节
https://developer.apple.com/appstore/resources/approval/guidelines.html#functionality
...只是捆绑为应用程序的网站的应用程序......可能会被拒绝
答案 3 :(得分:0)
这取决于。您基本上可以使用UIWebViews和自定义样式表使应用程序成为网站的门户,我相信Facebook应用程序。它的性能不如真正的原生应用程序,但它可以很好地满足您的需求而且维护成本较低。
答案 4 :(得分:0)
为许多设备优化转换后的应用非常困难。如果我是你,我不会一个人做。只需使用Jamblam即可转换您的网站,而不是自己动手做。 资源: https://www.jamblamapps.eu