今天来探讨下开发手机APP都有那些技术手段
大致分为三种开发模式:原生、混合开发、跨平台开发

原生方式:

原生技术栈指的是,只能用于特定手机平台的开发技术。比如,安卓平台的 Java 技术栈,iOS 平台的 Object-C 技术栈或 Swift 技术栈。

混合开发:

混合开发,也就是把 Web 网页放到特定的容器中,然后再打包成各个平台的原生 App。所以,混合技术栈其实是 Web 技术栈 + 容器技术栈,典型代表是 PhoneGap、Cordova、Ionic 等框架

跨平台 App:

跨平台开发指的是使用一种技术,同时支持多个手机平台。它与混合技术栈的区别是,不使用 Web 技术,即它的页面不是 HTML5 页面,而是使用自己的语法写的 UI 层,然后编译成各平台的原生 App。

这个技术栈就是纯粹的容器技术栈,React Native、Xamarin、Flutter 都属于这一类。学习时,除了学习容器的 API Bridge,还要学习容器提供的 UI 层,即怎么写页面

总结:H5 开发主要用在混合技术栈。但是,跨平台技术栈的某些容器也会用到(比如 React Native),因为它们的 UI 层借鉴了 Web 模型。

另外,混合技术栈和跨平台技术栈的基础,都是原生技术栈,因为最终都要编译成原生App。所以,不管使用哪一种技术栈,多多少少要了解一些各平台的原生技术。

此外 WebView 控件

不管什么技术,最终在 App 里面显示网页,一定需要一个网页引擎,这样才能解析网页。通常情况下,App 内部会使用 WebView 控件作为网页引擎。这是系统自带的控件,专门用来显示网页。应用程序的界面,只要放上 WebView,就好像内嵌了浏览器窗口,可以显示网页。不同的 App 技术栈要显示网页,区别仅仅在于怎么处理 WebView 这个原生控件。

原生开发:需要开发者自己把 WebView 控件放到页面上。
混合开发:页面本身就是网页,默认在 WebView 中显示。
跨平台开发:提供一个 WebView 的语法,编译的时候将其换成原生的 WebView。
不同系统的 WebView 控件名称不一样,安卓系统就叫 WebView,iOS 系统有较老的 UIWebView,也有较新的 WKWebView,作用都是一样的,差异在于功能的强弱。

前端开发App的几种开发方式相关推荐

  1. 前端开发APP,从HBuilder开始~

    内容简介 介绍目前前端人员开发app的几种方法,具体介绍hbuilder开发app,一扇赞新的大门~ 无所不能的js 最开始js仅仅局限于网页上一些效果,操作网页内容等, 但是nodejs把js带入了 ...

  2. 前端开发app,关于apicloud与dcloud的我的一些看法

    这几个月,学习了一些新技术,利用前端做了几个移动端app,也曾学过一点java和android开发,对比了一下,发现用前端开发app和原生开发app相比,学习成本和时间真的小很多,很方便. 第一次做的 ...

  3. 前端开发APP应该采取什么框架?

    近十年,随移动网络在人们生活中的不断渗透以及线上服务需求的不断提升,人们对于桌面应用.APP.小程序.物联网终端设备等的需求不断提升.据公开数据显示,2022年,小程序数量已超550万:工信部数据显示 ...

  4. app前端html,HTML前端开发App汇总

    1.web App (1)what Web App就是运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用. (2)why 第一.使用W3C标准的HTML(标准通用标记语言下的一个应用)语言开 ...

  5. HBuilder:推开前端开发App的大门

    奇妙的前端,奇妙的js 众所周知,自从js有nodejs后,前端人员可以华丽的转身,去开发高并发非阻塞的服务端程序, 随着html5的出现,伴随一些amazing的特性,h5开发app的技术越发的成熟 ...

  6. HBuilder开发App教程01-推开前端开发App的大门

    奇妙的前端,奇妙的js 众所周知,自从js有nodejs后,前端人员可以华丽的转身,去开发高并发非阻塞的服务端程序, 随着html5的出现,伴随一些amazing的特性,h5开发app的技术越发的成熟 ...

  7. 分享Web前端开发常用的6种编程语言及其优势!

    Web前端是互联网时代软件产品研发中不可缺少的一种专业研发角色.从狭义上讲,Web前端工程师使用HTML.CSS.Java等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端.移动端网页,处 ...

  8. “前端开发中的三种定时任务及其应用“

    前端定时任务是指在一定时间间隔内,自动执行指定的操作或函数.在前端开发中,定时任务被广泛应用于诸如数据更新.定时提醒.定时刷新页面等方面.在本文中,我们将介绍前端中常见的三种定时任务,分别是 setT ...

  9. 大前端开发 前端如何开发 APP

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 做为一个 ...

最新文章

  1. 公开课:如何成为一名高级系统运维工程师(架构师)?
  2. MYSQL主从复制—master-salve
  3. JavaScript总结01
  4. 清理mysql的sleep链接_Mysql Sleep 链接过多导致 CPU 占用过高的问题
  5. linux 安装mysql8_MySQL 8.0与MariaDB 10.4,谁更易于填坑补锅?
  6. excel两个指标相关性分析_我用Excel发现了数据分析的本质:回归分析
  7. pandas忽略行列索引,纵向拼接多个dataframe
  8. matlab 箱图不显示异常值_无功功率显示值与计算值不匹配?
  9. 全国一级计算机考证软件
  10. 动态代理(JDK动态代理)初步详解
  11. 多媒体计算机与一般计算机,计算机和多媒体计算机的区别
  12. iOS编程比较好开源的完整项目iOS编程比较好开源的完整项目
  13. android 极简浏览器,盘点最干净简洁的手机浏览器,到底哪个最好用?
  14. 《按自己的意愿过一生》读书笔记
  15. 【计组】原码的一位乘法运算
  16. 使用TF Service搭建在线服务:part-1
  17. openFOAM学习笔记(一)—— C++基础
  18. 对谈 | “计算机学神”闫令琪:我不希望别人说Rendering已经没东西可解了
  19. python使用dohq-tfs操作TFS(Team Foundation Server)的Work Item
  20. ALLEGRO 移动元件到指定坐标点

热门文章

  1. 阿里云轻量级服务器使用详情
  2. Centos7远程登录工具Xshell7的使用
  3. 找不到虚拟机监控程序,请启用虚拟机监控程序支持(打开Windows Sandbox提示)
  4. 信用租赁系统搭建-“信用”+“租赁”模式,租赁方式更灵活
  5. 那个说澳本聪是骗子的人胜诉了 挪威法院裁定Hodlonaut赢得了官司
  6. java表单防重复提交_防止表单重复提交的解决方案整理
  7. Java中字符数组与字符串的转换方法
  8. ​June 10. 2018, Week 24th, Sunday
  9. 高效能人士的7个习惯-读书摘录和心得
  10. python的对齐方式