随着ReactNative、Weex与Flutter等跨端框架的发展,大前端的概念也逐渐普及开来,纯粹的Native开发相对变得比较少,前端也成为了客户端同窗必需要掌握的一门技术,可是客户端同窗作的是跨端开发,在学习路线上和前端同窗又稍有不一样,下面从客户端同窗的视角去讨论如何学习前端知识。javascript
这里为你们整理了一份跨端技术图谱,这份图谱并无去穷尽全部的前端技术,只是从客户端开发的视角去梳理经常使用的技术点,帮助你们理清脉络。php
更多关于跨端技术的讨论能够参见BeesHybrid项目。css
IDE推荐VSCode,轻量级、插件丰富,经常使用插件以下所示:html
更多关于VSCode的使用技巧能够参见强大的VSCode。前端
对于客户端同窗来讲,要想上手React、Vue这些框架,须要先掌握HTML、CSS与JavaScript等基础知识,这部分的内容建议经过书籍来学习 ,一点一滴打捞基础,要有耐心。vue
书籍:《HTML5权威指南》java
书籍:《CSS权威指南》、《精通CSS》node
书籍:《JavaScript高级程序设计》、《你不知道的Javascript》react
除了基础的JavaScript知识,你还须要掌握ES6相关概念,这块能够参考ECMAScript 6 入门。webpack
咱们还须要了解NPM相关知识,NPM就像Android里的Maven仓库同样,它是一个JavaScript仓库。
Node.js的包管理工具。
Vue.js(读音 /vjuː/,相似于 view 的读音)是一套构建用户界面(user interface)的渐进式框架。
用于构建用户界面的 JavaScript 库。
从PC时代开始,Native与Web就一直是相互竞争、相互融合的关系,咱们先来简单看看它们之间的优点与劣势。
Native | Web | |
---|---|---|
性能 | 高 | 低 |
用户体验 | 好 | 差 |
功能 | 能够充分利用平台自身的能力 | 只有使用W3C的标准能力 |
迭代 | 周期长,须要发布 | 周期短,随时发布 |
维护成本 | 高 | 低 |
跨平台 | 差 | 好 |
线程 | 多线程 | 单线程 |
能够看出,Native与Web之间各有优劣,在移动互联网发展的过程当中,开发者们也一直在寻找融合双方优点的方案,经历了如下四个阶段的发展:
注:值得一提的是,同层渲染如今已经逐渐在Android和iOS平台的WebView上实现,将来Hybrid会有更多的玩法。
使用JavaScript和React编写原生移动应用.
Weex是一个基于现代web开发经验构建高性能移动应用程序的框架。
Flutter容许您经过一个代码库在iOS和Android上构建漂亮的本地应用程序。
小程序也属于跨端框架的范畴,但它与Weex这些框架不一样,比起像ReactNative这种技术创新,它更像是一种商业创新,它源于各大巨头对于流量与入口的竞争。详情可参见2018年上半年小程序生态白皮书。
咱们先就他们的技术方案作个简单的对比,以下所示:
事实上,小程序承载的更可能是业务形态,咱们从业务开发角度对小程序的前端架构作个总结。
小程序是一种新的开放能力,开发者能够快速地开发一个小程序。小程序能够在微信内被便捷地获取和传播,同时具备出色的使用体验。
支付宝小程序是一种全新的开放模式,它运行在支付宝客户端,能够被便捷地获取和传播,为终端用户提供更优的用户体验.
快应用是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对我的开发者和企业开发者全品类开放。
前端技术从底层到顶层一共能够分为20个,以下所示: