11

我已经开发了一个功能齐全的网站,我们的团队正在寻求将这个网站导出到 iPhone 应用程序(以及最终其他平台)。我能给出的最好的例子是我基本上已经制作了 Facebook,现在我想制作 Facebook 的应用程序(从 iPhone 的主屏幕启动的应用程序,而不是从浏览器启动的应用程序)。所以,很明显,我们已经有了这个功能,我们只需要把它转换到另一个平台上。这有多难?我们是否必须制作一个全新的软件并且基本上忽略我们已经拥有的所有现有 PHP 代码?该应用程序基本上与网站相同,除了一些布局更改。我们可能希望它能够访问相机功能并且绝对能够上传图片,我认为这会排除移动应用程序?我还是不 不了解制作移动应用程序和从 iPhone 主屏幕启动的应用程序之间的界限。你们对从哪里开始以及这一切会有多困难有什么建议吗?如果我们能够获得我们想要的功能,并通过使用现有代码让我们自己更轻松,我们会很激动。

谢谢

4

5 回答 5

9

让我们从基础开始。

移动网站是通过手机的网络浏览器访问的网站。HTML 页面由 Web 服务器提供(并且 UI 针对手机布局进行了优化)。

本机应用程序(通常称为“应用程序”)本质上是下载到手机的可执行应用程序。对于 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 技能。这些技术有很多好处。缺点是您的应用程序看起来/感觉不如原生应用程序或使用手机的任何“酷”功能。它将像一个好的移动网站一样执行。如果您有优秀的 UI/设计人员,您可以使用这些 Web 技术创建一些非常好的东西。

如果您使用 Google 原生应用程序与 phonegap(或 sencha touch)进行比较,则会有大量关于利弊的信息。这可能是您开始学习的好地方。

于 2012-05-05T23:31:36.830 回答
2

请参阅 App Store 审核指南第 2.12 条

https://developer.apple.com/appstore/resources/approval/guidelines.html#functionality

...应用程序只是捆绑为应用程序的网站...可能会被拒绝

于 2012-05-05T23:13:32.277 回答
2

除了@Joel 的良好反应,你应该先了解你应该为用户提供什么样的功能,如果主要功能只能查看网站使用UIWebView只是为了能够在商店分发应用程序,正如@Teofilo 所说,这是不允许的。目前有不同的跨平台应用程序开发解决方案(即PhoneGap),允许您通过UIWebViews使用html5、ajax等技术开发不同平台的应用程序。
这取决于你想提供给用户的功能类型,在原生开发的情况下性能肯定是最好的,因为你对应用程序和设备有更多的控制权,但使用交叉可能仍然很方便-平台解决方案,如果共享功能易于实现,以便在不同平台上获得相同的结果。你在后端使用什么样的技术也没那么重要,重要的是使用标准格式/协议进行通信(即http / json)。这只是我的观点,我希望有人能就这个话题发表他的看法,因为我注意到今天很常见。
不过好问题。

于 2012-05-05T23:49:00.020 回答
0

这取决于。您基本上可以使用 UIWebViews 和自定义样式表使应用程序成为网站的门户,我相信 facebook 应用程序会这样做。它的性能不如真正的本机应用程序,但它可以很好地满足您的目的,并且维护较少。

于 2012-05-05T22:54:28.093 回答
0

为许多设备优化转换后的应用程序非常困难。如果我是你,我不会一个人这样做。只需使用 Jamblam 来转换您的网站,而不是自己动手。资料来源: https ://www.jamblamapps.eu

于 2020-10-30T19:09:14.793 回答