App开发日志一(入门)

今天决定开始学习App的开发,但是一做深入了解就发现了好多自己从未触碰到的领域:

第一点是App的种类(开发方法不同):

  • 原生App(native-app):
    • 原生App基于手机的操作系统比如安卓、iOS等程序进行编程开发的App,利用了Android、iOS平台官方的开发语言、开发类库、工具进行开发。比如安卓的java语言,iOS的object-c 语言。在应用性能上和交互体验上应该是好的。
    • 优点:
      • 可访问手机所有功能、可实现功能齐全;
      • 运行速度快、性能高,的用户体验;
      • 支持大量图形和动画和重新发现,不卡,反应快。
      • 比较快捷地使用设备端提供的接口,处理速度上有优势。
    • 缺点:
      • 主要是成本高、周期长,Android和iOS都需要单独开发。
    • 常见的原生App:微信、QQ等
  • WebApp:
    • 本质就是浏览器功能的叠加,用普通Web开发语言开发的,类似于开发了一个网站通过浏览器运行,然后加了一个app的壳。
    • 优点:
      • 支持范围广;
      • 开发成本低、周期短。
    • 缺点:
      • 对网络要求高,离线不能做任何操作;
      • 功能有限,权限受限制,不如原生App;
      • 运行速度慢,页面不能承载太多东西;
    • 常见的WebApp:(后续补充)
  • Hybrid App(混合模式移动应用)
    • Hybrid App又称混合开发,也就是半原生半半Web的开发模式,部分核心内容通过原生开发,而非核心的内容使用web模式开发
    • 优点:
      • 比web版实现功能多;
      • 兼容多平台;
      • 可离线运行;
    • 缺点:
      • 用户体验不如本地应用;
      • 性能稍慢
      • 技术还不是很成熟。
    • 常见的Hybrid App:(后续补充)

二、如何区分这些不同类型的App呢?

  • 看断网情况:通过断开网络,刷新页面,观察内容缓存情况来有个大致的判断,可以正常显示的就是原生写的,显示404或者错误页面的就是html页面(即web-app)。
  • 看加载的方式:如果在打开新页面导航栏下面有一条加载线的话,这个页面就是H5页面,如果没有就是原生的。
  • 看页面刷新:如果页面没有明显刷新现象的是原生的,如果有明显刷新现象(比如闪一下)的是H5页面(Ios和Android)。比如淘宝的众筹页面。

三、最终的选择

通过对几种开发方式的比较权衡了自己的基础,决定从开发成本较低的Web-App学起;在翻找资料时发现一个词:uni-app;

  • uni-app:uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者只需编写一套代码,可编译到iOS、Android、H5、小程序等多个平台,不仅能正确运行且能给用户带来优秀体验。
  • 优点:
    • uni-app是一套可以适用多端的开源框架,一套代码可以同时生成ios,Android,H5,微信小程序,支付宝小程序,百度小程序等;
    • uni-app对前端开发人员比较友好,学习成本比较低;
    • uni-app使用HBX进行开发,使用HBX进行开发,速度比较快;
    • uni-app拓展能力强,封装了H5+,支持nvue,也支持原生Android,ios开发。可以将原有的移动应用和H5应用改成uni-app应用;
  • 缺点:
    • uni-app问世的时间还比较短,有很多地方还不是完善,坑很多;

经过了解决定试着学习一下uni-app框架,并试着开发一个小的项目:

注:本人初次接触app开发,故本文参考了网络上部分文章,如有问题请私信我!

原文地址:https://www.cnblogs.com/KYin/p/12359327.html