IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 大前端技术对比 -> 正文阅读

[移动开发]大前端技术对比

前言

大前端是什么?其实很好理解,大前端就是所有前端的统称,包括 Android、iOS、Web 等,它们之间有很多相似的概念,以下根据笔者个人经验总结,可能并不完整,仅供参考

对比

太长不看

AndroidiOSWeb
编程语言Java/KotlinObjective-C/SwiftJavaScript/TypeScript
开发工具Android StudioXCodeVSCode
包管理GradleCocoaPodsNPM
视图单位dp/spptpx
布局文件xmlxib/StoryBoardhtml&css
UI 框架JetPackMasonryAngular/React/Vue
网络请求RetrofitAFNetworkingAxios
JSON 解析GsonNSJsonSerialization天生支持

编程语言

各端都有两种编程语言选择,老牌语言胜在稳定,资料丰富,而新语言也大有后来居上的趋势,Kotlin(谷歌)、Swift(苹果)、TypeScript(微软)背后都有金主爸爸支持,但是目前来看,实际项目中 Android 用得多的还是 Java,iOS 还是 OC,而 Web 已经比较广泛使用 TS 了

开发工具

Android 和 iOS 都有官方推荐的 IDE,没什么好说的,跟着官方爸爸走准不会错。
Web 没有官方推荐的工具(或者说根本没有个所谓的官方),VSCode 算是后起之秀,还有 WebStorm、Sublime 等可供选择。

包管理

Android:官方钦定 Gradle,比起后端常用的 Maven 确实简洁了不少。
iOS:官方并没有管这块,CocoaPods 作为第三方包管理工具,已然成为事实上的标准。
Web:其实是基于 NodeJS 的 npm 来的,除了 npm 还有 yarn、lerna 等,还处于诸侯割据的状态。

视图单位

Android 中 dp 是基本单位,sp 用于字体大小,当然各端都还有许多其他单位,这里只列出最常用的。

布局文件

Android:xml
iOS:xib 相当于 Android 的 xml,而 StoryBoard 过于傻瓜式,苹果本意是好的,让人只需在画板上拖拖就能做出完整的应用界面,问题是有几个程序员会用呢,束缚了手脚,只适合做一些简单的页面
Web:布局(HTML)与样式(CSS)分离,乍一看很好,其实是上个世纪的技术,反而增加了复杂度,Android 和 iOS 都是布局样式在一个文件里,最新的跨平台技术 Flutter 更是没有布局文件,直接在代码中使用声明式的 UI,可见 Web 所用的技术有多老了

UI 框架

Android:官方 yyds!JetPack 库不只是 UI 框架,是由多个库组成的套件,官方收纳了很多最佳实践的库,开发者可以按需取用。
iOS:官方其实已经推出 AutoLayout 框架,奈何其 API 实在是黄婆婆的裹脚——又臭又长,于是第三方 Masonry 横空出世,基于官方 AutoLayout,大幅简化调用,得到了开发者的青睐,Masonry 是 OC 库,对应的 Swift 版本叫 SnapKit
Web:Angular、React、Vue 绝对是引战话题,到哪都不免拿出来对比,在我看来能完成项目开发,解决问题就行,不用踩一捧一

网络请求

Android:Retrofit 基于 OkHttp,安卓原生的 HttpURLConnection 从 4.4 开始也是基于 OkHttp,OkHttp 使用稍微复杂,Retrofit 用注解简化了调用,如果有很多定制化需求就用更基础的 OkHttp,一般用 Retrofit 即可
iOS:三方(AFNetworking)再次超越了官方(NSURLSession)
Web:Axios,可用于浏览器和 NodeJS

JSON 解析

Android:原生不好用,FastJson 并不 fast,Gson 地表最强(还是谷歌爸爸吊)
iOS:原生 NSJSONSerialization 最快,随着时间推移系统更新已击败所有三方 JSON 库
Web:JSON(JavaScript Object Notation)就是我生的

后记

总的来说,Android 有个强有力的官方,就像保姆一样,可以说除了业务代码其它通用基础库都想帮开发者服务好。iOS 官方就符合苹果一贯的高冷作风,必要的东西都有,你爱用不用,有时候还强迫开发者必须这么用。而 Web 可以说压根没有个官方,所以出现了社区做大,各种框架层出不穷,民间轮子满天飞的情况,这么看来,前端果然是最卷的(doge

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 09:27:50  更:2021-08-28 09:28:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/31 6:14:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码