安卓开发方式的进化之路

做安卓时间长了,接触到各种各样的框架,前前后后遇到了很多问题,这里顺便记录一下那些年在安卓开发的发展过程中的那些跨平台开发技术框架,大致如下: 如有错误,欢迎指正。 (一)适合WebApp的一些框架 1、Cordova 优点: 开源免费,社区生态成熟,插件丰富 支持离线场景应用 开发工具选择空间大 缺点: 只提供基础访问设备的接口,需要自己搭配其他UI框架和JavaScript框架来搭配 2、Ionic 优点: 国外的一款接近原生的Html5移动App开发框架,免费开源。 漂亮的界面,追求性能,专注原生,免费开源 Angular JS MVVM 开发理念,数据双向绑定 基于Cordova,可以使用 Cordova 的插件 缺点: 需要掌握 HTML + CSS + Angular JS ,学习路线陡峭 Ionic 框架相比于原生的 Cordova 有所差异,Cordova 某些官方插件可能不适用于Ionic 3、Dcloud 优点: 国内厂商,中文文档 对HTML5的性能、工具、能力都做了深入扩展,提供 IDE 、云服务等帮助节省时间 MUI 更贴近国内App使用习惯,提供模块的详细例子,如登录,个人中心 缺点: 部分操作需要具备原生开发经验,如离线打包App 新产品仍然有bug,还需改进 4、小程序 2016年9月21日,微信小程序正式开启内测。2017年1月9日0点,微信第一批小程序正式低调上线。 微信小程序,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。 优点: 1.即用即走——这个是从微信小程序上线就开始打的概念。即用即走使得小程序可以代替许多APP,或是做APP的整体嫁接,或是作为阉割版功能的承载体。 2.倚靠微信流量——相比APP,小程序一个突出的优点是完全嵌入了微信的聊天、公众号体系,完美进行微信体系内的流量引导。这一方面令小程序更加容易获客,另一方面也可以借助微信的成熟社交网络达到爆发式传播。 3.连接线上线下——连接线上线下场景也是微信小程序重要的一环,甚至最先开始为了推动线下习惯的养成,小程序在线上场景方面做了较强的限制。由于人们用微信扫描二维码的习惯培养得比较好,小程序相比APP更容易达成线上线下场景的连接与互动。 缺点: 1.留存——虽然有部分小程序已经杀出重围,但是普遍来讲,主打“即用即走”的小程序在用户留存上仍存在很大的提升空间。阿拉丁发布的小程序白皮书中显示,小程序的平均次日留存在13%左右,但是双周留存骤降到仅有1%。轻易拥有的也不在意失去,这大概是小程序目前的一个症结所在。 2.受控于微信——比起APP,尤其是安卓版的高自由度,小程序要面对很多来自微信的限制,从功能接口,甚至到类别内容,都要接受微信的管控,部分敏感内容还很容易遭受封禁威胁。 部分参考链接:https://www.zhihu.com/question/263816362/answer/274417734 5、PWA PWA(Progressive Web App)是 Google 于 2016 年提出的概念,2017 年已被迅速采用。 PWA全称Progressive Web App,即渐进式Web应用。 一个PWA应用首先是一个网页, 可以通过Web技术编写出一个网页应用. 随后添加上App Manifest和Service Worker来实现PWA的安装和离线等功能。 解决了哪些问题? 可以添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏 实现离线缓存功能,即使用户手机没有网络,依然可以使用一些离线功能 实现了消息推送 它解决了上述提到的问题,这些特性将使得 Web 应用渐进式接近原生 App。 关于PWA更多详情介绍可以看以下博客介绍: https://segmentfault.com/a/1190000012353473 PWA的优势 可以将app的快捷方式放置到桌面上,全屏运行,与原生app无异 能够在各种网络环境下使用,包括网络差和断网条件下,不会显示undefind 推送消息的能力 其本质是一个网页,没有原生app的各种启动条件,快速响应用户指令 PWA存在的问题 支持率不高:现在ios手机端不支持pwa,IE也暂时不支持 Chrome在中国桌面版占有率还是不错的,安卓移动端上的占有率却很低 各大厂商还未明确支持pwa 依赖的GCM服务在国内无法使用 微信小程序的竞争 PWA写的app 比如这个:https://dd.shmy.tech/client (请使用谷歌浏览器打开) 6、Instant App 2016年的Google大会上,Google发布了有关Instant App的最新技术。千呼万唤之下,号称“Google版小程序”的Instant App,终于在2017年面向用户开放使用了。Instant Apps是Google 推出的应用特性。它可在用户没有下载、安装 App的前提下,直接加载App 的部分模组,并直接运行、使用,无需下载、安装整个App。 Instant App详情介绍可以看以下两个博客介绍: http://36kr.com/p/5102782.html https://segmentfault.com/a/1190000010906162 优势: 1.相对于小程序来说,谷歌官网要求每个Instant App程序最大不得超过4M的大小。但是小程序没有严格限制。 2.Instant App从用户体验角度来看,要比小程序好很多,体验起来让用户感觉,有种“我并没有安装这个程序,就能体验到和程序同样的丝滑体验”的感觉。 遇到的困难: xx上网(你懂的) Google Service不能正常的推广 具有Google Service框架的手机 完整应用必须提前安装到Google Play上 部署信息验证文件的网站,需具有https方式访问功能的网站。 另外还有一些比较过时的框架,例如:PhoneGap(支持大部分系统,不同平台需要搭建不同开发环境,需要使用三方的UI,需要使用第三方UI和扩展功能插件)、AppCan(闭源,商业化产品,免费版限制太多,无法在本地发布)。 此部分内容来源于:https://blog.csdn.net/jingwen3699/article/details/68922923 (二)适合移动端App的一些框架 1、React Native Facebook于2015年3月份在github发布了React Native第一个正式版本为v0.1.0 特色: Facebook 出品一个移动端开发框架,可以最大限度的接近原生的效果。 能够在Javascript和React的基础上获得完全一致的开发体验,构建原生APP。 仅需学习一次,编写任何平台。(Learn once, write anywhere) 缺点: 初次学习成本高 必须在不同平台下写两套代码,依赖暴露的接口 2、Weex 阿里巴巴于2017年4月份在github发布了Weex第一个正式版本为0.11.0-rc0 Weex的github地址 https://github.com/apache/incubator-weex 特点: Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。 缺点: 控件太少,基本只能实现最基本的效果 上手难度大,如果是前端和移动端都比较懂上手很快。 随着项目变大,编译速度会指数型上升。 此部分内容来源于:https://blog.csdn.net/jupiterxx/article/details/80026909 3、Flutter 详细介绍请看我写的博客 Flutter入门详解到填坑指南 (三)开发语言的多样性 到目前为止,能够开发Android的语言有很多种,如下所示: Java还有其他JVM语言kotlin Groovy Scala C/C++(也是废话) HTML5(又是废话) Dart(Flutter框架的开发语言) Python(著名项目fq.router2) Lua(bilibili客户端←_←) QML(Qt项目的界面描述语言,同时可以用C++/js写业务代码,还能Ajax呢) TypeScript C# Python PHP 作者:AWeiLoveAndroid 链接:https://www.jianshu.com/p/44305a99c51a 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

原文发布于微信公众号 - 竹清助手(zhuqing_help)

原文发表时间:2018-08-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏知晓程序

小程序可以指纹识别了!我们还发现了一个更大的惊喜

这一次的新能力更新,包括设定分享卡片封面图、支持指纹识别等多种新功能,涵盖了小程序开发、运营和使用的各个方面。

12220
来自专栏即时通讯技术

P2P技术如何将实时视频直播带宽降低75%?

实时视频直播经过去年的千播大战后已经成为互联网应用的标配技术,但直播平台的成本却一直居高不下,各个平台除了挖主播、挖网红以外,其背后高额的带宽费用也是他们最大的...

69130
来自专栏极乐技术社区

一周小程序【资讯教程Demo】更新

轻松一刻 ? 漫画来自于设计师西乔《神秘的程序员们》 资讯与教程 【微信小程序】再次授权地理位置getLocation+openSetting使用 实战分享,蓝...

27880
来自专栏BestSDK

6个最好用的 AR/VR开源框架:无需任何插件安装,只用浏览器即可

1. AR.js AR.js 是一款应用于 Web 的高效增强现实(AR)库,基于 three.js + jsartoolkit5,无需安装。它适用于任何带有 ...

687110
来自专栏web前端教室

2018年,WEB前端新工具学习建议

简单来讲,就是更多实例,更多迭代,更多业务,更多思路。以业务业务来理解思路,以迭代来验证业务逻辑。 一句话,“学前端,只学Js不学业务逻辑、开发思路,没用。”...

284100
来自专栏向治洪

那些年我们一起用过的Hybrid App

Hybrid App现状分析 Web App 毫无疑问Web App就是成本最低,最快速地解决方案了。尤其是近两年非常流行的响应式设计,Web App市场提供了...

21380
来自专栏前端黑板报

全栈工程师权威指南

根据 Stack Overflow 2016年开发者调查显示,全栈工程师是最受欢迎的开发者职业。毫无疑问现在有许多在线或个人课程来帮助程序员成为全栈开发者,甚至...

240110
来自专栏phodal

RePractise前端篇: 前端演进史

细细整理了过去接触过的那些前端技术,发现前端演进是段特别有意思的历史。人们总是在过去就做出未来需要的框架,而现在流行的是过去的过去发明过的。如,响应式设计不得不...

19890
来自专栏腾讯云API

【视频】云API组合应用实战: 英汉互译小工具

云API团队在云学院上线了一套视频教程,目的是和大家分享如何进行API、SDK和CLI的使用。

398110
来自专栏腾讯云serverless的专栏

Serverless 初探

SCF 无服务器云函数已经开放公测,借助这个产品,让我们来聊聊什么是Serverless。Serverless架构,或者称为无服务器架构,是最近几年新冒出来的一...

2K60

扫码关注云+社区

领取腾讯云代金券