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

这两天微信小程序的内测,被这个事件刷屏,让很多前端开发者感觉以后就是铁饭碗了。而我作为一个将近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. 工具

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

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

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

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

最后是这种模式在提高开发效率,减少业务对前端同学的依赖方案能够体验出很大的价值,天猫在这方面不错的积累,如果大家对这些技术感兴趣,欢迎一起探讨

时间: 2024-10-25 08:03:41

微信小程序会让前端开发者失业的相关文章

微信小程序终于面向个人开发者开放了!!!

最新消息!今天,微信小程序新增六大新能力:个人开发者开放.公众号自定义菜单跳小程序.公众号模版消息可打开相关小程序.模板消息跳小程序 .绑定时可发送模板消息.兼容线下二维码.app分享用小程序打开.小程序带来能力更新,希望帮助开发者增强小程序能力,扩大小程序的使用场景. 小程序正式对个人开发者开放注册.有开发能力的个人可以申请注册开发小程序了,方便个人开发者便捷地开发一款小程序.申请个人开发者的个人需要实名. 本文来自开源中国社区 [http://www.oschina.net]

从程序员的角度分析微信小程序

昨天朋友圈被微信小程序刷爆了. 我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊. 作为一个并不是资深的程序员. 从程序员的角度分析一下微信小程序,欢迎指点. 首先吐槽 微信小程序只发了200个邀请号,和我预想的一样,张小龙并没有翻我牌,难道就不能雨露均沾吗? 先来了解下什么是微信小程序. 转自知乎 微信也许重申了"我们是一款约炮软件" 微信还提供了一大堆接口和组件(不好意思,说了句废话). 下面是禅叔的观点: 小程序原理就是用JS调用底层native组件,和React Nat

使用微信小程序开发前端【快速入门】_javascript技巧

前言 2016年9月22日凌晨,微信官方通过"微信公开课"公众号发布了关于微信小程序(微信应用号)的内测通知.整个朋友圈瞬间便像炸开了锅似的,各种揣测.介绍性文章在一夜里诞生.而真正收到内测邀请的公众号据说只有200个. 虽然内测名额十分稀少,但依赖中国广大开发者的破解和分享精神,在网络上很快出现了开发工具的破解版本和API文档.然而可能是微信的妥协或者早已预料,9月24日微信官方发布了不需要破解就可以使用的微信小程序开发者工具和文档,对于费劲心思破解完的开发者来说应该瞬间整个人都不好

【小程序】微信小程序的个人开发者发布最佳实践

前言 微信小程序在3月27日新增了6项能力,其中第一条就是对个人开发者开放注册. 这无疑是大快人心的好事! 之前我写过一篇微信小程序的文章,不过主体是企业的身份来做的,并且也没有走到发布的流程, http://blog.csdn.net/diandianxiyu_geek/article/details/53068012 这次可以完美的走完这套流程了~ 注册账户 和之前的一样,只是我们选择的是新增个人身份. 选择小程序 填写注册邮箱 注意的是,小程序帐号和公众号是平级的身份,所以不能用同一个邮箱

微信 小程序前端源码详解及实例分析_其它综合

微信小程序前端源码逻辑和工作流 看完微信小程序的前端代码真的让我热血沸腾啊,代码逻辑和设计一目了然,没有多余的东西,真的是大道至简. 废话不多说,直接分析前端代码.个人观点,难免有疏漏,仅供参考. 文件基本结构: 先看入口app.js,app(obj)注册一个小程序.接受一个 object 参数,其指定小程序的生命周期函数等.其他文件可以通过全局方法getApp()获取app实例,进而直接调用它的属性或方法,例如(getApp().globalData) //app.js App({ onLau

微信小程序明星开发者博卡君专访

「微信小程序」作为微信进一步提高用户黏性.巩固市场地位的重要战略布局,不仅决定着微信下一步的发展形态,更和无数开发者的未来职业发展息息相关.本届微信公开课也吸引了大量明星开发者及业界大牛的关注,ZAKER 就在公开课现场遇到了小程序开发领军人物.<全球首个小程序开发教程>的作者--博卡君,并请他谈谈自己对小程序开发的独到见解以及对微信未来发展的看法. (Z:ZAKER,博:博卡君) Z:感谢博卡君接受我们的访问,参加了这次微信公开课,先谈谈你的感受吧! 博:一直在关注微信开发,能亲临现场和这么

C#开发微信门户及应用(47) - 整合Web API、微信后台管理及前端微信小程序的应用方案

在微信开发中,我一直强调需要建立一个比较统一的Web API接口体系,以便实现数据的集中化,这样我们在常规的Web业务系统,Winform业务系统.微信应用.微信小程序.APP等方面,都可以直接调用基于JSON数据格式的Web API接口,在我之前的几篇随笔中,对这方面都有一定的介绍,本篇继续这个主题,细致深入的阐述如何在接口和源码的基础上整合Web API.微信后台管理及前端微信小程序的应用方案. 1.基于Web API的微信开发框架 首先我们各个业务模块,都应该围绕着Web API进行展开,

动手开发一个名为“微天气”的微信小程序(上)

引言:在智能手机软件的装机量中,天气预报类的APP排在比较靠前的位置.说明用户对天气的关注度很高.因为人们无论是工作还是度假旅游等各种活动都需要根据自然天气来安排.跟着本文开发一个"微天气"小程序,方便微信网友随时查看天气. 接下来两天小编将同您一起开发一个"微天气"小程序,本文首先向大家介绍"微天气"的API与界面代码编写.本文选自<从零开始学微信小程序开发>. 在一套软件系统中,微信小程序通常是作为前端来使用的,一般还需要有后端的

《微信小程序:开发入门及案例详解》—— 2.5 模块化

2.5 模块化 小程序逻辑层语言是JavaScript,而JavaScript作为脚本语言在设计初期仅是为了实现简单的页面交互,由Brendan Eich在1995年花了不到十天时间发明出来,语言本身缺失了很多用于支撑大型项目的设计,而现在前端业务逻辑越来越复杂,代码也越来越多,很多问题就暴露出来.模块化主要解决JavaScript中命名冲突和文件依赖这两个问题,现在模块化在前端中使用比较广泛,如Nodejs.Requirejs.Seajs.Webpack等,它们大部分都遵循或者接近Common