zoukankan      html  css  js  c++  java
  • 新型前端开发工程师的三个境界 后端开发工程师如何快速转前端

    初入软件开发这一行时,当时还没有前后端分离这个概念,所有的开发工程师既能写html,也能写后台服务,随着技术的发展,前后端分离成为趋势,目前团队不少人能熟悉的写java后台服务,却难以hold住前端页面的开发,前端页面开发成为瓶颈。针对这个情况,筹划了一个前端培训专题,让后端的同事可以通过学习快速掌握前端开发技能。

    愿景

    • 培养全栈工程师,前后端均可以Hold住

    前端技能梳理

    我们把前端同事做的事情简单的梳理下,大概可以分为:

    效果图 -> HTML还原

    将UED设计的效果图还原为页面,这个也是以前狭义的UI完成的工作。梳理下这个工作需要的技能:

    • 熟悉HTMLCSS、熟悉常见布局,div+css
    • 熟悉浏览器兼容
    • 熟悉PS切图

    随着前端UI框架的发展,当你使用bootstrap、elements、iview这类框架时,80%的功能开发可以不需要这一步,因此一个小团队有1个这样的工程师就OK了。

    HTML->应用

    单独的HTML是缺乏灵魂的,还需要绑定数据,这样才是一个完整的页面。在前后端未分离的时代,通常是后端基于前端还原的html来进行开发,通过模板技术绑定数据。而随着ajax的兴起,前端 MVVM框架的流行,前后端分离,数据绑定工作前移到前端,因此前端的职责之一就是调用后端的服务,并显示到页面上。

    同样的,梳理下这个工作需要的技能:

    • 了解或者熟悉html
    • 熟悉HTTP
    • 基本的javascript应用
    • 熟悉一个js框架的应用,比如jq、vue.js

    一个合格的后端,在熟悉javascript的情况下,可以很快掌握。

    复杂的单页应用

    现在流行一个词“大前端”,前端更大的挑战就是构建复杂的单页应用,比如易企秀的H5编辑器,单个页面里包含了非常多的功能和逻辑,这类页面有个特点:

    • 包含复杂的业务逻辑
    • 通常需要上千行的javascript代码
    • 需要良好的设计模式来组织和维护代码,MVCMVVM等概念在前端运用

    而随着技术的发展,javascript可以用来开发手机端app(react-native、weex),本质上来说还是开发复杂的单页应用。特别是使用vuex这类状态管理库时,如果懂的后端的数据库概念,可以事半功倍的理解其原理。

    总结一下,开发复杂的单页应用,需要具备的技能:

    • 熟悉数据结构和算法
    • 熟悉常用的设计模式
    • OOP思维
    • 模块化开发
    • db思维
    • 熟悉javascript,熟悉es2015es2017

    一句话总结起来,复杂的前端应用开发所需要的技能,恰恰是后端开发所擅长的,只是编程语言从java、c#变成了javascript,仅此而已。

    新型前后端一体化工程师的三个境界

    怎么来评价一个人的前端能力,简单起见,划分为三个境界:

    • 第一层(必须具备)

      • 依葫芦画瓢
      • 可以根据还原的HTML或者UI框架,实现简单页面的开发和数据绑定
      • 熟悉HTML常见标签、CSS盒子模型、CSS优先级,常见布局
      • 会使用Vue.js/jquery,Iview、Element等工具库
    • 第二层(努力可以达到)

      • 可以熟练的开发单页应用
      • javascript了然于心,es20152016信手拈来
      • 熟悉Vue、React、angular、知道各自的优缺点,根据需要选择合理的方案
      • 跟踪前端发展趋势、不盲从、独立思考
    • 第三层(尽量追求,需要时间和积累)

      • 融会贯通,可以改造轮子、造新的轮子提升效率
      • 在公司、业界前端形成影响力

    培训规划

    最后来定一下培训的规划。

    目标

    • 所有人达到第一层境界
    • 骨干需要达到第二层

    培训内容

    课时1:HTTP+HTML+CSS基础+常见布局+HTML5+CSS3

    • HTTP
      • HTTP get/post/put/delete
      • HTTP响应码
      • chrome F12 network使用
    • html块元素、内联元素、表单
    • CSS 与盒子模型
    • 响应式布局
    • H5语义标签,audio,canvas
    • CSS3动画

    课时2:javascript 基础

    • 数据类型,数组、对象,表达式、条件、循环等
    • javascript常用对象
    • DOM编程
    • AJAX、jsonp
    • 正则、表单验证

    课时3:javascript进阶

    • 深入js
      • 模块化、AMD,require.js
      • 作用域链
      • 原型链与继承
      • 闭包
      • OOP
    • es2015/2017
      • 箭头函数等新语法糖
    • TypeScript

    课时4:项目框架应用 Vue.js +IView使用培训

    • Vue.js 渐进式理解
    • Vue.js 模板绑定
    • Vue.js 组件
    • Vue.js 单页应用
    • Vuex 状态管理
    • Vue Router
    • IView 组件库介绍
    • 项目案例讲解

    课时5:基于Nodejs的前端新生态

    • NodeJs原理、历史、发展
    • webpack
    • less
    • 代码质量eslint

    课时6: vue.js与手机app、微信小程序开发

    • 使用vue.js+weex开发手机app
    • 微信小程序开发

    最后,欢迎大家拍砖和提出建议。


    作者:Jadepeng
    出处:jqpeng的技术记事本--http://www.cnblogs.com/xiaoqi
    您的支持是对博主最大的鼓励,感谢您的认真阅读。
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    一文读懂数字人民币的发行原因与特性
    人工智能时代来临,我们终将何去何从?
    SQL在物联网时代还值得使用吗?
    比你更懂你的物联网时代,电商会不会出现新的模式
    什么样的才叫物联网?物联网发展趋势会比互联网更好吗?
    如何使用人工智能创建蛋白质形状的语言
    为什么智能优势是未来物联网的核心
    大数据、物联网和人工智能等技术能否带来新的模式
    函数间的参数传递
    函数间的参数传递
  • 原文地址:https://www.cnblogs.com/xiaoqi/p/front-dev.html
Copyright © 2011-2022 走看看