slalx/slalx.github.io

微信小程序会让前端开发者失业

Opened this issue · 0 comments

slalx commented

这两天微信小程序的内测,被这个事件刷屏,让很多前端开发者感觉以后就是铁饭碗了。而我作为一个将近10年的前端开发者,恰恰看到了事情的另外一面,_前端开发开发者的饭碗会被后端开发同学,设计师,产品经理以及其他想学习开发小程序的人占领,大部分低水平前端开发者面临失业_。我为什么这样说,下面我来给大伙分析下原因:

我们想想在没有微信小程序的时候,前后端怎么来分工:

  • 前端工程师
    • 开发基础组件,页面的静态样式,交互
  • 后端工程师
    • 开发业务逻辑和把数据套在前端写好的静态页面上.
    • _最不擅长是写页面布局,页面交互,开发复杂的基础组件_

下面我们再来看看,微信小程序做了哪些事情

  1. WXML

    WXML(WeiXin Markup Language)是微信设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。这句话的描述太技术,翻译成人话就是**WXML使得后端开发同学可以使用熟悉的XML就可以开发出漂亮的页面,每个xml标签就是微信内置的组件和原生的html标签**
    通过这种方式**彻底屏蔽了底层页面和组件的实现方式,后续不管前端技术如何发展,小程序开发者的代码理论上不需要做任何的变化**。如果前端技术发展了,微信需要做的就是开发一个新的转换器,把WXML转换成对应的新技术就行了。_这才是这套框架渲染的真正的意图_。

  2. WXSS

    WXSS(WeiXin Style Sheets)是MINA设计的一套样式语言,用于描述WXML的组件样式.这句话意思就是在开发时**只需要描述下组件的样式就行了,页面的布局,响应式不用你管,改个样式,字体大小,颜色,边框,相信这些对你没有任何学习成本**

  3. 事件

    事件是视图层到逻辑层的通讯方式,将用户的行为反馈到逻辑层进行处理,可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。事件对象可以携带额外信息,如id, dataset, touches。这句话翻译成人话就是用户的行为可以触发数据的变化,并反应到对应的视图上;_整个过程不需要操作任何dom,开发者需要做的就是对一些数据的运算,这恰恰是后端开发擅长的事情;以后写页面就跟设计excel表格一样容易,把数据填到xml中,写个自定义公式,就把漂亮的页面和复杂的交互给开发出来了_,下面这样就可以开发微信小程序了

    //数据运算,类似excel中的公式
    Page({
      tapName: function(event) {
        this.data+1
      }
    })
    //画页面,类似excel中填数据
    <view id="tapTest" data-hi="MINA" bindtap="tapName"> {{data}} </view>
    
    
  4. 工具

    通过上面的框架微信觉得你有可能在开发调试错误时出现问题,他们又开发了模拟器,调试工具,代码编辑器这些工具来为的开发过程保驾护航,使得整个开发体验吊炸天

通过**上面的措施使得开发微信小程序的学习成本,开发难度大大降低**,以后满大街的估计都是微信小程序开发,不管前端开发,后端开发,设计师,产品经理,只要会写个公式,写个标签都开发出小程序应用。以后真的就人人都是程序员了

那么前端工程师就真的没有任何价值了嘛?如果你的经验就停留在开发微信小程序上面,相信你真的离失业不远了。

如果还想拥有你的饭碗,就必须在业务层面有自己的思考和观察,在抽象能力方面,快速学习的能力方面有所突破,在程序架构方面,在技术深入方面有自己的特点。否则的真的危险了。