4 月 21 日,由 InfoQ 主办的 QCon 全球软件开发大会在 北京举行。超过 150 名国内外技术专家将为大家带来一场技术盛宴。在大会的开幕式上,极客邦科技与 InfoQ 中国创始人霍太稳,和阿里巴巴资深总监,淘宝 移动平台及新业务事业部、阿里百川负责人庄卓然(花名南天)共同宣布,极客邦科技与阿里百川达成战略合作,共建移动开发者生态。
同时,庄卓然还宣布,阿里百川移动应用全新技术解决方案Weex 正式开放内测,并将于6 月全面开源。Weex 在官网提供了Android Demo 下载,iOS 版正在准备中。
在过去一年里,极客邦科技迎来了高速发展,除了面向5 年以上经验技术人的 InfoQ 之外,还创建了面向初级开发者的在线学习平台 StuQ 、面向企业内部开发者的内训服务 GIT 、面向高级技术管理者和决策者的 EGO ,以整合全球优质学习资源,帮助技术人和企业成长作为自己的使命。
阿里百川是阿里巴巴集团无线开放平台,通过“技术、商业及大数据”的开放,提供移动场景下的高内聚、开放式、行业领先的技术产品矩阵、成熟的商业组件和完善的服务体系,帮助移动开发者快速搭建APP、加速APP 商业化进程,全方位赋能移动开发者及移动创业者。
两者的结合,将为中国的移动开发者营造更优秀的社区氛围和成长环境。
Weex:阿里对移动开发最佳实践的最新思考
在上午的 Keynote 上,庄卓然向参会者做了《从万物生长到繁荣有序——重新思考移动开发》的演讲,回顾了过去十年移动开发技术的发展,分享了手淘对移动 开发最佳实践的思考,并介绍了手机淘宝推出的移动开发解决方案 Weex。在演讲过后 InfoQ 记者对庄卓然进行了采访,了解了 Weex 的更多细节。
Weex 是官方支持 iOS/Android/HTML5 三大平台的跨平台开发框架,使用 HTML/CSS/JS 开发原生应用,其原理类似 React Native,但理念有所不同。同时受到 Web Component 和 Vue.js 项目的启发,采用接近 HTML 标准的 DSL 进行开发,其在架构中的定位相当于 MVVM 中的 View 和 ViewModel。
从演讲和项目官网的介绍中我们可以知道,Weex 有如下特性:
- 轻量级。低侵入性,简单易用。
- 可扩展。丰富的内建组件。可扩展的 API,事件支持全面。
- 高性能。快速启动和渲染,更好的用户体验。
官网上给出的 DSL 的例子如下,可以看到几乎就是 HMTL5:
<template> <div class="container"> <div class="logoContainer"> <image class="logo" src="http://t.cn/Rq9bcDm"> </image> <text class="desc"> A framework for building Mobile cross-platform UI </text> </div> <div class="textContainer"> <text class="text">Hello weex</text> </div> </div> </template> <style> .logoContainer { width: 750px;height: 500px; align-items: center;justify-content: center; background-color: #0054DC; } .logo { width: 378;height: 84; } .desc {margin-top: 40px;font-size: 24px;color: #ccc;} .textContainer { width: 750px;padding-top: 200px; align-items: center;justify-content: center; }.text {font-size: 48px;} </style>
与 React Native 的“Learn Once, Write Everywhere”——即重视平台的独立性的理念不同的是,Weex 重提“Write Once Run Everywhere”的说法,屏蔽底层硬件差异,一次编写即可生成三个平台的代码。
另外由于采用 Vue 模板的语法,使用 Weex 编写界面更加自然,符合前端开发习惯,无学习门槛。并且这样一来,Weex 开发将可直接利用现有开发工具的代码补全、错误检查等功能,提升开发效率。而 React Native 目前只有 Facebook 自己开发的一个尚不成熟的 IDE Nuclide,在这方面 Weex 更胜一筹。
Weex 支持三种与现有项目集成的方式,分别是:
- Full Page。即整个页面都由 Weex 生成。
- HTML5 组件。即 HTML5 页面里嵌入 Weex 生成的原生 UI 组件。
- Native 组件。Weex 生成组件同样可以与原生代码编写的 UI 混搭。
据庄卓然介绍,Weex 的前身是 WeApp,一个用 JSON 配置原生 UI 组件来实现动态化 的框架,Weex 继承了这一点并做得更彻底,同时吸收 React Native、Web Component、Vue.js 等优秀项目和标准的思想,从而形成现在的项目,可以说是面向自身业务的解决方案的升级进化版本。在去年双十一大促 中,Weex 担任了双十一主会场的任务,取得了圆满成功。
目前,使用 Weex 需要在项目官网申请内测,最终会在 6 月份开源,在这期间,手淘技术团队将继续打磨这一项目。
评论