当前位置: 首页 > 科技观察

如何选择最佳的移动开发环境

时间:2023-03-15 19:17:35 科技观察

今天是一个疯狂的移动主导世界,企业和开发人员拼命努力跟上面向消费者的移动应用程序开发的需求,并相应地调整企业服务和数据。而这对于企业来说更是一个比较棘手的问题。根据Gartner的研究数据,到2017年底,企业对移动应用的需求将大幅增加,至少是IT所能提供的5倍。问题不仅仅是需求飙升。相反,开发人员需要选择正确的技术来构建移动应用程序。如今,企业在构建移动应用程序时有三种主要选择:为每个平台(iOS、Android和WindowsPhone)构建本机应用程序;使用HTML5、CSS和JavaScript技术构建可在浏览器上运行的移动网络应用程序;或者采用混合方法,构建移动Web应用程序,然后将其放入本机包装器中,以便它可以像本机应用程序一样在不同设备上运行。每种方法都有其优点和缺点。因此,让我们分解每项技术,然后看看如何在它们之间进行选择。本机应用本机应用在特定的移动平台上运行-无论是iOS、Android还是WindowsPhone。它的代码是直接为特定硬件编写的,不能直接从一个平台移植到另一个平台。用于构建本机应用程序的开发工具通常由平台所有者提供。例如,iOS应用程序通常是使用Apple的Xcode构建的。Google的官方Android开发平台是AndroidStudio。而WindowsPhone就是它的VisualStudio。本机应用程序可以利用设备的所有内置硬件,包括传感器、全球定位系统(GPS)、图形加速等。因为每个应用程序都是专门为每个设备编写的,所以它提供了高性能,这对游戏尤为重要,但对图形和媒体应用程序也很有用。它们可通过每个供应商的商店获得:AppleAppStore、GooglePlay和WindowsStore。他们使用通用控件并为每个设备提供通用的外观和感觉,使用户可以轻松快速地启动和运行。目前,具备编写原生应用技能的开发人员在人才市场上供不应求,而这些人才的薪资是可观的。这些成本不仅仅是应用程序的初始成本。应用开发完成后,需要定期维护和修复bug,也需要定期更新。因此,高成本往往是持久的。这种情况对于为一个平台编写应用程序来说已经够糟糕的了。但是,如果您的企业还想为两大平台编写应用程序,其成本将不可避免地翻倍,而如果您的企业还想为WindowsPhone编写应用程序,则其成本将增加三倍。如果您想要一个移动网站,您的企业还需要组建一个单独的移动网站开发团队。使用HTML5、CSS和JavaScript构建的Web应用程序基于Web的应用程序是使用HTML5、CSS和JavaScript技术构建的网站。与本机应用程序不同,它们不会作为应用程序下载到移动设备。相反,用户通过移动浏览器运行它们来浏览网页。请记住,我们在这里不是在谈论静态网页。这些是成熟的应用程序,具有您期望的交互性和功能。Web应用程序还可以使用一些移动硬件,例如GPS,尽管对此的支持通常受到传感器的限制。它们比原生应用程序更容易构建,因为它们使用用于构建非移动网页的相同技术。招聘Web开发人员比本地应用程序开发人员更容易。前者在人才库中拥有大量候选人供企业选择。当您的企业正在构建Web应用程序时,您只需要维护一个代码库。没有必要创建多个独立的原生态应用,然后每个不同的原生态应用都必须单独开发、维护和更新。它的部署也非常简单,只需通过一个网络服务器即可。应用程序不需要由Apple、Google和Microsoft的应用程序商店编译或审查,毕竟这个过程有时可能很麻烦。因此,构建Web应用程序比本地应用程序更快、更便宜。此外,用户无需下载应用程序即可使用它,他们只需要打开一个网页即可。但也有一些缺点。Web应用程序的性能不如本机应用程序,尽管现在可以使用快速的多核移动处理器,这在浏览静态页面时会大大提高。但是,对于某些游戏或图形和媒体丰富的应用程序,这仍然是个问题。Web应用程序并不总能充分利用每台设备上的传感器。他们也无权访问设备上的联系人列表和其他类型的数据。由于网络应用不是通过应用商店下载的,因此新用户可能也很难找到它们,因为大量用户习惯于通过应用商店找到他们想要的应用。它们的界面也可能不像本机应用程序的界面那样,后者可能对某些用户是封闭的。混合应用程序混合应用程序是使用HTML5、CSS和JavaScript构建的网页,然后将其放入本机包装器中,以便它可以像本机应用程序一样在不同设备上运行。它可以像本地应用程序一样从应用程序商店下载到设备。它可以利用每个平台内置的大多数传感器和其他功能(但不一定是全部),例如通知。就像本机应用程序一样,主屏幕上会有一个图标,用户只需点击即可运行它。与网络应用程序一样,混合应用程序与本机应用程序相比也存在性能不佳的问题,尽管快速的移动处理器使这个问题比以往任何时候都好得多。但这对于某些游戏来说仍然很重要,尤其是那些图形和媒体丰富的应用程序。对于混合应用程序,您通常只需要像往常一样使用HTML5、CSS和JavaScript技术构建网页。之后,使用开源的ApacheCordova或Adob??e的PhoneGap(基于Cordova)等平台将代码放入原生应用程序中。当然,还有各种完整的开发环境,让您的企业可以用HTML5、CSS和JavaScript或其他语言编写代码,然后将代码转换为像原生应用程序一样运行。这种方法的主要优点是您的企业不必为多个平台雇用多个开发人员。Web开发人员可以利用他们的技能编写移动网页,然后使用相应的工具将其转换为本机应用程序。这种方法的缺点是生成的应用程序往往不像原生应用程序,没有与原生应用程序相同的界面和控制。做出决定那么,您的企业应该怎么做——采用本机应用程序、使用HTML5还是部署混合方法?Forrester分析师MichaelFacemire表示,要做出决定,您需要花费大量时间研究您企业的移动需求、资源和时间表。他与人合着了很多关于该主题的报告,包括“Web、混合和本地移动应用程序各有所长”。“首先,想想你的企业想要构建什么样的应用程序,”他说。“它是B2C应用程序,还是B2B应用程序,还是B2E(企业对员工)应用程序?”他说。“现在,很多焦点都集中在B2C原生应用上。”方面。”因为大多数企业认为它提供了比Web应用程序或混合方法更好的用户体验。他说,对于希望在移动领域展示其“领导地位”的品牌而言,用户体验尤为重要。此外,他认为消费者已经习惯于从应用商店中寻找他们喜欢的新应用,这使得消费者比基于Web的应用更容易发现原生应用。但是,对于B2B和B2E应用程序,他建议公司要么采用基于Web的应用程序,要么采用混合方法。“HTML5可以满足任何商家和企业的需求,因此混合或Web应用程序是更实用的方法,”他说。“这样做将降低成本并使升级和维护更容易。”根据Forrester对开发者的调查,2014年,31%的开发者编写了原生应用程序;27%编写基于Web的应用程序。22%正在编写混合应用程序;12%的人使用“跨平台”方法,他们在Xamarin等不基于HTML5的平台上编写代码。Facemire认为企业只采用一种方法作为公司的规范是错误的。他说:“如果你的业务只是构建原生应用程序、移动网站或混合应用程序是非常短视的。这应该符合你业务发展的需要。一个企业可能希望为他们的消费者构建原生应用程序,但是同时使用企业内部的移动Web网络,如公司名录。”Web应用程序会超越原生应用程序吗?Adobe移动副总裁MattAsay也同意Facemire的观点,并表示如果只有内部员工使用,否则构建原生应用是浪费时间和金钱。“我很难想象为什么您的企业会在这种情况下构建本地应用程序,”他说。“使用内部应用程序,你不会在市场上竞争,也不会与其他基于消费者的应用程序竞争。”消费者。所有这些费用都没有理由。“Asay认为,一般来说,原生应用程序是一个过渡阶段,最终几乎所有应用程序都将基于网络。因此,他说,这是企业开发工作应该关注的地方。”作为一个行业,我们认为应用程序是唯一的东西,我们已经忘记了网络,”他说。“随着时间的推移,这种情况将会改变。我们开始从桌面开发本机应用程序,并随着时间的推移将其中大部分迁移到Web。在移动领域,你会看到同样的事情发生,网络将比原生应用更重要。”马特·阿赛说。他认为,其中一个原因是几乎不可能创建人们可以从AppStore找到并下载的应用程序。“如果你是独立发行商,你的应用从海量同质化应用中脱颖而出的机会基本上小于零。“正因为如此,独立开发人员开发基于Web的应用程序会更好,”他说。“人们可以通过多种方式访问??基于Web的应用程序。他们可以直接在浏览器中键入URL;从浏览器书签中访问它,或者他们可以在计算机的主屏幕上创建快捷方式,它的图标看起来像一个本地应用程序.至于知名品牌,他认为人们已经知道这些品牌的网址,因此没有必要创建一个应用程序来建立知名度和品牌知名度。他还表示,对于在线零售商而言,移动网络优于应用。”一家年销售额数亿美元的大型零售商的移动部门负责人告诉我,公司90%的移动流量来自网络,而不是公司的Native应用程序。那么他为什么要花这么多时间和金钱关于构建本地应用程序?”JavaScript开发框架Ember.js的共同创建者TomDale相信会有一个未来。这种方法适用于移动开发,因此企业不必在本机应用程序开发、移动Web开发或混合开发之间做出全有或全无的决定。他说企业应该建立一种可以被所有通用API使用的开发方法。”以一家小型且没有市场的科技初创公司为例。通常他们将从开发iOS应用程序或Android应用程序开始。“对于这样的应用程序,你需要在后端有一个API,”他说。因此,构建API以供本机应用程序、移动Web应用程序、混合应用程序甚至桌面应用程序使用的方式是有意义的。他同意Asay的观点,即大多数移动开发最终将迁移到移动网络并远离原生应用程序和混合应用程序。他说,原生应用程序的优势最终会消失。本机应用程序具有能够访问所有传感器的优势......但在某些时候,新传感器不会内置到移动设备中。他说,这些技术将会成熟,然后基于网络的应用程序将迎头赶上并同时访问所有传感器。对于开发人员来说,最好的是什么?目前,原生应用程序最适合正在构建面向消费者的应用程序的企业,这些应用程序需要自己的设计和界面来脱颖而出,并希望两全其美。性能,例如,游戏行业。基于Web的应用程序最适合企业构建供内部使用、B2B和内部应用程序的应用程序。混合应用程序介于前两者之间,它可以使应用程序看起来有点像本机应用程序,但使用Web标准构建。