专栏首页竹清助手安卓开发方式的进化之路

安卓开发方式的进化之路

做安卓时间长了,接触到各种各样的框架,前前后后遇到了很多问题,这里顺便记录一下那些年在安卓开发的发展过程中的那些跨平台开发技术框架,大致如下: 如有错误,欢迎指正。 (一)适合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),作者:贠王军

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2019年如何成为现代化的后端开发者

    当我们谈到语言时,你会有无数种选择。为了方便你做决定,我把它们分成几类。对于刚开始进入后端开发的初学者,我建议你随便选一门脚本语言去学,它们都有大量的需求,也能...

    貟王軍
  • 霸气!Nginx 中缓存静态文件秘籍

    1、准备事项 我想你需要一个正常工作的 nginx 软件,可以查看另一篇的帖子:在 Ubuntu 16.04 LTS 上安装 Nginx,PHP 7 和 MyS...

    貟王軍
  • 对比Linux系统和Windows系统哪个更好

    Windows操作系统是目前世界上使用最广泛的操作系统,但是在企业级服务应用上则是Linux系统更为专业与出名,也许听到Linux操作系统会觉得陌生,Andro...

    貟王軍
  • 安卓开发方式的进化之路

    做安卓时间长了,接触到各种各样的框架,前前后后遇到了很多问题,这里顺便记录一下那些年在安卓开发的发展过程中的那些跨平台开发技术框架,大致如下:

    AWeiLoveAndroid
  • 浅谈热议话题小程序

           小程序最大的优势当然就是方便,无孔不入!它体验更棒、开发成本很低,周期也短。更关键的是,小程序分享到消息对话框的面积也更大,分享出去更快,能玩的功...

    中微信通
  • 教你如何让小程序一直名列前茅

    微信小程序经过一年的发酵,已经有很多企业入驻到这个市场里面去了。那么企业多起来了,那么产品也自然多起来。这样就自然而然的涉及到一个问题,用户如何能直接快速的触达...

    企鹅号小编
  • 云控结合精准采集软件+小程序变现

    不管是哪个行业,竞争都相当激烈,曾经的新媒体营销如火如荼,但是社会总是在不停的更新换代,如今一批新的媒体人长江后浪推前浪,在如今的销售与市场部信息战场上,占领了...

    企鹅号小编
  • Jackson与spring框架整合的坑

    在JavaWEB项目中,使用SSM框架,在项目启动时出现如下错误:  Cannot find class [org.springframework.http.c...

    似水的流年
  • Jackson与spring框架整合的坑

    在JavaWEB项目中,使用SSM框架,在项目启动时出现如下错误:  Cannot find class [org.springframework.http...

    似水的流年
  • 24小时卖断货 订单成交3000+ 家居家纺店成功的秘籍在这!

    对于家居家纺行业而言,普遍都面临着竞争激烈、门店租金成本居高不下、营销活动成本高但效率低等问题,这也导致很多线下门店盈利能力逐年下降,甚至亏本经营

    极乐君

扫码关注云+社区

领取腾讯云代金券