• 学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

    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


    小编是一个多年开发经验的程序员,今年年初整理了一批WEB前端学习资料作为粉丝福利,不论你是计算机专业想往WEB前端方向发展,还是零基础想要转行学习WEB前端,这份资料都能帮助到你。只要关注我,私信我【前端】,即可领取粉丝福利。
    当然前端涉及的领域,还不止这些。较新的领域还有,数据可视化、IOT (物联网)、机器学习等。网上也有大神专门整理了前端开发人员的技能图谱,有兴趣的读者可以参考一下,但一定要做好心理准备,不要被吓到哦。里面介绍的是综合的技能,对于初学者的话,只要先学 HTML/HTML5、CSS/CSS3 和 JavaScript 的基础知识,等入门后在参考技能图谱,好好规划一下学习或进阶线路哟。

    巴中市职业中学罗海老师
  • 相关阅读:
    CacheHelper
    自动完成 或者动态匹配
    http://www.jb51.net/article/28619.htm
    http://www.kindsoft.net/docs/qna.html
    开发测试的理想模型
    关于浮点数的死区问题
    ZOJ Problem Set – 2321 Filling Out the Team
    Input类、四元数、
    忙蒙蔽了
    2014-03-28
  • 原文地址:https://www.cnblogs.com/bzluohai/p/12703685.html
Copyright © 2020-2023  润新知