最近腾讯在13年推出一个移动端Web解决方案:Mars, 又被国人捡起来了,暂且不知道这个东西优势在哪里,之前阿里的weex,一段时间后也没听到任何消息了,faceBook的React native还算是国人熟知并运用了前端技术。那么就来挖挖这些项目的产生背景了。


Mars 难道又是下一个面向Kpi编程?_java


Weex

 Weex是阿里推出的跨平台,可扩展的动态化技术. 能通过在Weex源码中写<template><style> 和  <script>标签,然后把这些标签转换为JS Bundle用于部署, 在服务端以这些JS Bundle响应请求. 当客户端接收到JS Bundle时,它能用被客户端中的JS引擎用于管理Native渲染;API调用和用户交互.


目前还没听说那个公司运用了此技术,小道消息:阿里兄弟部门也没有运用集成。大家已经明了weex产物和其公司的Kpi背景有分不开干系。


Mars 

Mars是腾讯推出的终端基础组件,是一个使用 C++ 编写的业务性无关,平台性无关的基础组件。目前已接入微信 Android、iOS、Mac、Windows、WP 等客户端。现正招兵买马准备大力研发中,它主要包括以下几个部分:

  1. comm:可以独立使用的公共库,包括 socket、线程、消息队列等

  2. xlog:可以独立使用的日志模块

  3. sdt:可以独立使用的网络诊断模块

  4. stn:可以独立使用的信令分发网路模块


看了Mars 项目gitHub,简单的几句介绍,如下:


面向亿万用户级的移动端Web解决方案:

  1. 代码结构规范

  2. 字体设置最佳实践

  3. 模拟原生效果实践

  4. 工具类方法汇总

  5. iOS与Android平台上问题列表

  6. 高性能Mobile Web开发

  7. 类库依赖推荐

  8. 演示

  9. 触摸运动解决方案


看完之后 我楞是没明白这个跨平台高性能方案优势在哪里,革命性的改变? 就如以往的很多框架已发布,都是声势浩大,最终还是被遗弃在kpi中。很多原因都是描述远远不及实践来的强大,一句话:让开发者失望了。


好吧,之前知乎上已经对weex的讨论颇多,观望,怀疑,赞赏,吐槽样样俱全,无论开发者是从哪个角度出发,毕竟都有为了kpi的嫌疑,那我们试着抛开面向kpi,为weex等洗白?


改进?


大家看了weex和RN的介绍,发现两者原理差的并不多,weex官网强调跨平台,高性能,然而mars也强调高性能,这里我并不对两者进行对比和介绍,实质上介绍并不那么简单,没有哪篇文章就能完成介绍一个复杂的框架的。言归正传,但是为何还会有weex的出现,难道rn不能满足国人的编程习惯,不能满足国内公司业务需求,其实仔细这类类似改个壳子就说修改原理的框架,并不只是首次亮相了,远在两年前,基于Gson的fastJson也是出过一次,还有百度几年前发布的基于pc的前端js框架,感觉如出一辙。


好用?


搭建过Rn环境的朋友,可能对环境的搭建已经熟悉不过额了,虽然容易但是相对一直从事移动端开发的朋友来说还是有点方方,需要Noad等两至3个相关依赖,最终还要去入门Js语法, 虽然不是太难,但是太折腾,这里不得猜想,mars也未必笔者简单多少,其实联想到好用是不可能的,最多只能说是相对。


趋势?


那么只有剩下趋势这儿维度去评价了。混合开发过渡产生了跨平台方案,但是跨平台的方案给开发者也带来的相对学习成本,成本除去之外其实不同岗位角色间的沟通协调也是一种人力支出,比较趋势和玩玩新鲜感不能等同,这种不同公司为了尝鲜争着想着玩玩的态度大有所在,认为用了rn就是玩了牛逼技术,认为用了Rx就是大神了,其实就连谷歌从faceBook在rn上算是成功的经验,也没有立马去改变方向,依然只是考虑向跨平台试试看,谷歌大会依却看重的方向还是人工智能和AR/VR。何况我们普通开发者的盲目就能代表趋势?


KPI?

好了 说了这么多,读者也猜到笔者的用意了。weex绝对是为了kpi背景的产物,那么mars是不是也意味着kpi呢。我真心不想看到,也不相信未来有天豆瓣和知乎讨论说你也是kpi之子,希望不要让开发者失望, 本人虽没有使用过mars,  但是个人也用过一些框架,发现很多私人项目确实很好的,毕竟code并不是数字和字母,我觉得Ta也融入了一种感情,代表着作者一种精神。相信,技术信仰不要被kpi所蒙蔽,为了kpi产出的东西,其实已经无精神可言了,哪怕是包装多么豪华绚丽!你终究是个弃子。

虽然团队产物可能相对强大一点,但实际上心灵的东西更重要!


这里也不能否认相关公司的成果,但是...... 


拒绝面向KPI编程,做个有代码洁癖的开发者!