• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

如何创建移动应用程序

有几种方法可以创建移动应用程序你想知道最好的方法是什么吗?这取决于。你有哪些技术经验?你的目标是什么平台?你想花多少时间来构建你的应用程序?

iphone及其软件开发工具包推出后,移动领域经历了一场革命。今天,有数以百万计的移动应用程序、无数的平台以及数十种框架和工具来创建移动应用程序。

你如何决定什么是适合你的?回答这个问题是本文的重点。我讨论了你在野外发现的移动应用程序的类型、原生应用程序和混合应用程序的优势,并列出了一些更流行的平台。

如何创建移动应用程序  第1张

应用类型

移动应用程序可以分为三大类:

  • 网络应用

  • 混合应用

  • 本机应用程序

这些类型中的每一种都有其优点和缺点。如果您要问我哪种类型最适合您的需求,那么我的回答是,这实际上取决于您要做什么。为了证明我的回答是正确的,我首先需要告诉您每种应用程序类型。让咱们从 Web 应用程序开始。

网络应用程序

您可能已经熟悉 Web 应用程序。与其他应用程序不同,Web 应用程序不是您可以从某个地方下载的东西,它可以在任何可以加载网页(或具有 Web 浏览器)的设备上简单地使用。Web 应用程序只不过是一个网站,作为一个应用程序运行和运行。例如,在引入 ios SDK之前,Web 应用程序是希望为原始 iPhone 创建应用程序的开发人员的唯一选择。

Web 应用程序具有许多明显的优势,其中最重要的一个是开发时间。因为 Web 应用程序是一个网站,所以它只构建一次,并且可以在每个运行 Web 浏览器的平台上访问。对于一些公司来说,这是一个非常有吸引力的解决方案,因为咱们稍后会讨论的原生开发可能既昂贵又耗时。您可以说 Web 应用程序按照定义是跨平台的。

另一个重要的优势是开发 Web 应用程序的学习曲线。要开发 Web 应用程序,您需要依赖您可能已经使用过的 Web 技术,例如htmlcss和 javascript。如果您这样做了,那么您将在不使用任何专有 SDK 的情况下立即启动并运行。

有什么缺点吗?

与任何类型的应用程序一样,Web 开发也有一些缺点。两个最重要的缺点是性能和对设备功能的访问。如果您打算开发游戏,那么 Web 应用程序不是您的最佳选择。这是可能的,但性能不会很出色。网站和 Web 应用程序对设备功能的访问受到限制,例如相机、位置服务等。这些年来,这已经有了显着改善,但还达不到原生应用程序的水平。

混合应用

混合应用程序过去和现在都非常受欢迎。它们结合了两个世界的一些最好的东西,即网络和原生。用于创建混合应用程序的技术与用于创建 Web 应用程序、HTML、CSS 和JavaScript的技术相同。如果您了解混合应用程序的工作原理,原因就很明显了。

混合应用程序是在本机应用程序的 Web 视图中运行的 Web 应用程序。换句话说,混合应用程序使用原生应用程序作为其容器,使其看起来像原生应用程序。这意味着,对于用户来说,混合应用程序的外观和感觉或多或少是原生的。用户可以从平台的移动商店下载它,应用程序图标会出现在他们的主屏幕上。

有什么缺点吗?由于混合应用程序依赖于 Web 技术并在 Web 视图中运行,因此混合应用程序会遇到与 Web 应用程序相同的大多数问题。性能达不到本机应用程序的水平。不过,这种情况正在改善,每年的表现都会越来越好。javaScript 性能在过去十年中的改进令人印象深刻。

开发混合应用程序最流行的解决方案是 Apache cordova,简称 Cordova。 几年前Adob e 收购 PhoneGap时 ,他们开源了大部分代码库,Cordova 诞生了。PhoneGap 仍然存在,是 Cordova 的商业表亲。

为了加快开发速度,开发人员经常将 Cordova 与其他框架结合使用,例如 ionic 和 Onsen UI。

本机应用程序

选择原生开发就是选择性能和可靠性。为什么原生开发会吓跑这么多开发者?咱们以iOS平台为例。如果你想构建一个原生的 iOS 应用程序,你需要学习一门新的语言,Objective-C 或swift。您还需要熟悉 Apple 的 IDE(集成开发环境)Xcode。一个原生应用程序通常需要更长的时间来构建,因为可以这么说是因为你更接近于金属。Objective-C 和 JavaScript 是两种截然不同的语言。

你得到什么回报?性能可能是本机应用程序最引人注目的优势。原生应用程序感觉很敏捷,尤其是对于游戏来说,它们可以充分利用设备和操作系统的资源。开发人员可以访问通过 SDK 的api公开的设备的每个特性和功能。这是本机相对于混合和网络的另一个关键优势。

有许多 混合方法 可以使更多开发人员可以访问本机应用程序开发。解决方案很简单,用您选择的语言编写代码并将其编译为本机应用程序。在撰写本文时,最流行的解决方案是 Xamarin 和 react Native。

Xamarin 允许开发人员使用 C# 为 iOS、android 和 Windows Phone 编写本机应用程序。Xamarin 工具利用 Mono 开源项目。 React Native 起源于 Facebook,它使开发人员能够使用 JavaScript 编写本机应用程序。

原生或混合

什么是最好的解决方案?本国的?还是杂种?还是网络应用程序?没有一个答案。这取决于几个因素。如果您是开发人员,那么答案就不那么复杂了。您已经熟悉哪些技术?您想专注于一个平台还是为多个平台创建应用程序?

掌握 iOS、Android 和 Windows Phone 正在成为一项真正的挑战。一些开发人员为多个平台编写本机应用程序,但这很有挑战性,如果你能做到,我绝对推荐它。移动领域发展迅速,如果您选择原生开发,那么这 应该 是您的目标,非常非常熟悉您的目标平台。

这是许多开发人员选择混合解决方案的原因之一。如果您是一位经验丰富的 Web 开发人员,那么您将立即启动并运行。Apache Cordova 与ionic或 Onsen UI 结合使用,可以显着加快开发速度。

Web 应用程序当然是需要牢记的。不过,它们是不同的类别。通过创建 Web 应用程序,您无意在任何移动商店中拥有应用程序。许多公司几年前就选择了这条道路。如今,如果预算和资源可用,本地和混合方法更受欢迎。

问你自己

要决定在开发移动应用程序时要采用哪种方法,请问自己这些问题。正如我之前提到的,选择类型

性能很关键吗?

如果是这样,本机是您的最佳选择。如果您打算开发游戏,您可能还想研究 虚幻引擎。与 Unity不同,他们只向您收取收入的 5%,而不是按月收费。

当咱们讨论原生应用程序时,咱们看到它们能够利用设备功能,一个很好的例子是 Apple 如何使用 Metal 让开发人员几乎完全访问设备上的 GPU,从而将图形性能提升到一个新的水平。

如果您不熟悉 Metal,以下是 Apple 对此的评价:

Metal 2 提供对图形处理单元 (GPU) 的近乎直接访问,使您能够在 iOS、mac OS 和 tvOS 上最大限度地发挥应用程序的图形和计算潜力。

现在,如果性能无关紧要,您可以根据以下几个问题自由选择跨平台或混合应用程序,以更好地满足您的需求。不过,无论如何,如果您有资源来构建原生应用程序,那么这始终是总体上最好的选择。

跨平台支持重要吗?

如果没有,你应该考虑原生路由。如上所述,本机应用程序绝对是获得可靠用户体验和最佳性能的最佳方式。 

如果跨平台支持至关重要,并且您无法为所有平台获得本机应用程序,那么混合本机或混合 Web 方法是您的最佳选择。 

如果性能和设备功能同样重要,请查看Xamarin或React Native 。不过,我个人最喜欢的是 Ionic  ,因为它提供了大量的设备上功能,同时仍然拥有足够宽的保护伞来涵盖大多数开发

这是你的下一件大事吗?

如果您的目标是成为移动开发人员,那么我的建议是选择原生方法。不过,这是非常个人化的。我是一名 iOS 开发人员,我喜欢这种方式;我认为 Apple 正在颠覆移动开发领域,它为开发人员提供了很多工具。通过专注于一个平台,就我而言,iOS、tvOS、watchOS 和Mac OS,我有时间非常熟悉这个平台。如果您想创建引人注目的应用程序和出色的用户体验,这是移动开发的一个重要方面。

如果您有Web 开发背景,那么原生仍然是一个选择。但是,如果您想快速推出某些产品,那么混合或 Web 应用程序是最快的解决方案。

结论

如果你期待一个明确的答案,那么我可能会让你失望。如果您还没有下定决心,那么我建议您尝试一下我列出的一些选项。 玩转 Cordova 或 学习一下 Swift  ,看看你是否喜欢它。不要采取最简单或最快的方式实现目标。确保您也享受旅程,因为这就是乐趣所在。


文章目录
  • 应用类型
    • 网络应用程序
    • 混合应用
    • 本机应用程序
  • 原生或混合
  • 问你自己
    • 性能很关键吗?
    • 跨平台支持重要吗?
    • 这是你的下一件大事吗?
  • 结论