最新Web前端高薪就业方向分享!
近几年前端领域不断地涌现出新的技术,旧的技术也不断地进行更新换代。随着技术的不断进步,前端开发涉及的领域,也变得越来越广,接下来跟小编一起来了解一下前端几个重要的领域吧。
在学习过程中有什么不懂得可以加我的WEB前端学习交流扣扣qun,前面是133,中间868,后面是702。群里有不错的学习教程与开发工具、项目源码分享,专业的老师解答问题。与你分享web前端企业当下人才需求及怎么从零基础学习好web前端,和学习什么内容。
PC
PC (Personal Computer) 即个人电脑。目前电脑端仍是前端一个主要的领域,主要分为面向大众的各类网站,如新闻媒体、社交、电商、论坛等和面向管理员的各种 CMS (内容管理系统)和其它的后台管理系统。
其实早期并没有 "前端工程师" 的称号,那时候一般叫做 "网页设计师" 或 "美工"。记得最早接触到的网页设计软件是微软开发的 "Frontpage",后面才接触到 "网页三剑客" (Dreamweaver、Fireworks、Flash) 中的 Dreamweaver,直到现在的各种 IDE (集成开发环境),如 Sublime Text、WebStorm、Visual Studio Code 、Atom 等。
对于前端工程师来说,开发 PC 端项目,最痛苦的事情莫过于解决浏览器兼容性问题,特别是 IE 浏览器不同版本的问题。值得高兴的是,针对现代浏览器不同特性的兼容问题,可以借助构建工具的插件来实现自动添加不同浏览器的特性前缀,比如 Post CSS 的 Autoprefixer 插件。
接下来我们来看一下,PC 端第一个网页长啥样:
Web App
Web App 是指使用 Web 开发技术,实现的有较好用户体验的 Web 应用程序。它是运行在手机和桌面端浏览中,随着移动端网络速度的提升,Web App 为我们提供了很大的便利。此外近两年 Google 提出了一种新的 Web App 形态,即PWA(渐进增强 Web APP) 。
PWA 意图让 Web 在保留其本质(开放平台、易于访问、可索引)的同时, 在离线、交互、通知等方面达到类似 App 的用户体验。PWA 其具体技术包括 Service worker、 Web App Manifest、 Cache API、 Fetch API、 Push API、 Web Push Protocol、 Notification 等等。
Web App 的主要优点:
开发成本低
内容更新快
升级无需通知用户,自动升级
能够跨多个平台和终端
Web App 的主要缺点:
用户体验短期内还无法超越原生应用
离线工作的能力较弱
消息推送不够及时
无法获取系统级别的通知,提醒,动效等等
WeChat (微信) 这个平台,拥有大量的用户群体,因此它也是我们前端开发另一个重要的领域。微信的公众号与订阅号为市场营销和自媒体从业者,打造了一个新的天地。我们以微信公众号为例,来分析一下微信公众号的主要作用:
信息推送
用户服务
用户互动
此外除了公众号与订阅号外,微信又推出了微信小程序。微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
微信小程序的主要优势:
不用安装,即开即用
相比于 App 开发来说,小程序开发成本更低
UI 和操作流程比较统一,降低用户的使用难度
基于微信平台,推广更容易、更简单
Hybrid App
Hybrid App (混合应用) 是指介于 Web App、原生 App (主要是 Android 或 iOS )之间的 App,它兼具原生 App 良好用户交互体验的优势和 Web App 跨平台开发的优势。
混合应用功能按网页语言与程序语言的混合,通常分为三种类型:多View混合型,单View混合型,Web主体型。最早的混合应用开发技术,是基于 Phonegap/Cordova 技术。Cordova 为开发者提供了一组设备相关的 API,通过这组 API,移动应用能够以 JavaScript 访问原生的设备功能,如摄像头、麦克风等。
目前主流的混合应用开发框架有:React Native、Onsen UI、Ionic、Framework 7、Native Script 和 Weex 等。这里就不详细展开,对各个框架进行详细对比和分析,有兴趣的读者可以自行查阅一下相关资料。接下来我们来了解一下混合应用的优缺点。
混合应用的主要优点:
开发成本低
节省跨平台的时间和成本
可以访问硬件设备的功能
可以打包成 App,发布到 App Store 或各大安卓应用平台
混合应用的主要缺点:
用户体验不如原生 App
应用性能也不如原生 App
技术还未成熟
Game
HTML5 游戏从 2014 年 Egret 引擎开发的神经猫引爆朋友圈之后,就开始一发不可收拾。不过现在游戏开发变得越来越复杂,需要制作各种炫丽炫丽的效果,还要制作各炫丽于 2D 或者 3D 的场景。为了降低游戏的开发难度,加快游戏的开发进度,国内外不同厂商推出了众多游戏开发引擎。
HTML 5 主要的开源游戏引擎:
phaser
pixi.js
Babylon.js
whs.js
egret
cocos2d-html5
Desktop
桌面应用软件,就是我们日常生活中电脑中安装的各类软件。早期要开发桌面应用程序,就需要有专门的语言 UI (界面) 库支持,如 C++ 中的 Qt 库、MFC 库,Java 的 Swing、Python 的 PyQT 等,否则语言是没办法进行快速界面开发。
随着 Web 技术的不断发展,目前借助NW.js、Electron等开发框架,前端也可以开发桌面应用了。其中口碑不错的开源 IDE -Visual Studio Code就是使用 Electron 开发的。使用 Web 技术,主要的优势是它的跨平台能力和开发效率。但也有它对应的缺点,就是运行效率不如使用专门语言开发的桌面应用。
Server
Node.js 一发布,立刻在前端工程师中引起了轩然大波,前端工程师们几乎立刻对这一项技术表露出了相当大的热情和期待。看到 Node.js 这个名字,初学者可能会误以为这是一个 Javascript 应用,事实上,Node.js 采用 C++ 语言编写而成,是一个 Javascript 的运行环境。
Node.js让 JavaScript 能够运行在服务端,这个想法简直太棒了。这使得前端开发人员不用再去学服务端开发语言,如 PHP、Java、Ruby 和 C# 等,也可以进入服务端的开发领域。当然学习的过程可能对于大多数纯前端开发人员来说,会比较痛苦和漫长。
Node.js 主要的 Web 开发框架:
Express
Koa
Egg
Nodal
Sails
Loopback
当然前端涉及的领域,还不止这些。较新的领域还有,数据可视化、IOT (物联网)、机器学习等。网上也有大神专门整理了前端开发人员的技能图谱,有兴趣的读者可以参考一下,但一定要做好心理准备,不要被吓到哦。里面介绍的是综合的技能,对于初学者的话,只要先学 HTML/HTML5、CSS/CSS3 和 JavaScript 的基础知识,等入门后在参考技能图谱,好好规划一下学习或进阶线路哟。
最后,这篇文章的目的不是为了炫耀前端开发有多牛逼,只是想作为有意向入行前端或刚入门前端人员的参考资料。俗话说得好,术业有专攻,希望新时代的前端开发者,能先专攻某个领域,然后再扩展其它领域,即先有深度再有广度。