目前主流的几种开发App方式介绍

前言

目前来说主流的App开发方式有三种:Native App 、Web App、Hybird App,而3种方式下又分别有众多的框架可供选择,一句话,前端的技术层出不穷,五花八门,让人应接不暇。这里简单介绍下这几种方式的优缺点以及分别挑几种热门的框架简单介绍下。

概述

Native App(原生APP开发模式):
Native App开发即我们所称的传统APP开发模式,该开发针对IOS(OC或者swift)、Android(Java或者kotlin)等不同的手机操作系统要采用不同的语言和框架进行开发,是专门针对某一类移动设备而生的,它们都是被直接安装到设备里, APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。

  • 优点:
    1.可轻易调用手机所有硬件实现功能
    2.速度更快、性能高、整体用户体验最好
    3.质量安全性很高

  • 缺点:
    1.开发周期长及维护成本高(比如ios和android需2端开发2个app)
    2.学习成本高(ios必须会swift,android必须会Java)

Web App(HTML5 APP 框架开发模式):
Web App即我们通常所说的H5 app,主要通过HTML,CSS,JS构建页面,然后发布到服务器,用户通过手机网络访问这些页面。类似微信公众号等

  • 优点:
    1.项目独立,维护更容易,兼容多平台
    2.开发周期短,学习成本低
    3.更新发版更容易

  • 缺点:
    1.体验不好,对设备和网络要求高,经常卡顿,性能差
    2.无法调用系统硬件

Hybrid App(混合模式移动应用):
Hybrid App是指介于Web App、Native App这两者之间的app, Hybrid App主要以JS+Native两者相互调用为主,从开发层面现“一次开发,多处运行”的机制,成为真正适合跨平台的开发,是目前乃至未来发展的趋势。

  • 优点:
    1.维护容易,能调用部分系统硬件,兼容多平台
    2.开发周期短,学习成本低

  • 缺点:
    1.可能需要会原生开发以支持更多的硬件调用
    2.性能跟原生还是有差距,对设备有一定要求

NativeApp

以前ios开发用的OC语言,现在基本都是用swift了。而android,以前用的都是Java,去年google官宣kotlin成为android开发的官方语言,不过,现在用的开发者还是比较少,android studio已支持kotlin。

Web App

JQuery Mobile

看名字就知道,这个是使用html和jQuery构建的手机应用,它唯一的优点估计也就是上手简单了,以前jQuery毕竟是前端必备技能,这几年连jQuery都很少开发者用了,甚至大公司都在重构准备去jQuery化,所以,这个框架,基本凉了,不过不得不承认jQuery那些年的影响力,太大了。

AmazeUI

号称中国首个开源 HTML5 跨屏前端框架,移动端优先,基于jQuery,现在用的人还是有不少,它提供了不少的web组件和js插件,而且调用极其简单,样式也还可以。
但是,amazeui项目github2年前就停更了,后面又搞了个基于react的amazeui-touch框架,不过在出了1.0release后,也停更了,最后一次更新是在2017年10月。

其他H5 UI框架

其他还有蛮多的,甚至纯js,html也可以开发web app,普遍存在性能差,对设备和网络要求高等问题。这些年,兴起的公众号和小程序甚至快应用,基本可以取代它们了。

Hybird App

Hybird App近年来发展势头猛,个人觉得也是移动开发的趋势。

Flutter

要说最近最火的跨平台移动开发框架,非flutter莫属。flutter是google的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。注意,是原生用户界面,意味着,它的性能基本是和原生一样的。
flutter与用于构建移动应用程序的其它大多数框架不同,因为flutter既不使用WebView,也不使用操作系统的原生控件。 相反,Flutter使用自己的高性能渲染引擎来绘制widget,flutter使用C、C ++、Dart和Skia(2D渲染引擎)构建;flutter 用Dart作为开发框架和widget的语言。

Ionic

Ionic提供了一个免费且开源的移动优化HTML,CSS和JS组件库,来构建高交互性应用。基于Sass构建和Angular优化。
即将发布的Ionic4是一次重大的升级,它第一次实现了与框架无关,不再必须使用Angular,你可以使用Vue,React,JQuery或者干脆不使用任何框架来进行Ionic开发,这一切都是因为可以使用Stencil来构建标准web components

React Native

React Native是Facebook 开源的跨平台移动应用开发框架,使用JavaScript编写原生移动应用,通过声明式的组件机制来搭建丰富多彩的用户界面。React Native 经过 3 年多的发展,已经比较成熟,虽然至今没有发布 1.0 版本,但其社区很活跃
React Native所使用的基础UI组件和原生应用完全一致。 基础组件使用JavaScript和React的方式组合起来。

Weex

Weex 集成了 WeexSDK 之后,可以使用 JavaScript 和现代流行的前端框架来开发移动应用,使用同一套代码来构建 Android、iOS 和 Web 应用。目前主要支持 Vue.js和 Rax这两个前端框架。起步比较晚,社区没有 React Native 活跃,资料和开源项目也相对较少
缺点:文档

总结

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容