滴滴开源小程序框架 Mpx ,致力于提高小程序开发体验
滴滴 WebApp 团队近日宣布开源 Mpx ,这是一款致力于提高小程序开发体验的增强型小程序框架。通过 Mpx ,开发者能够以最先进的 web 开发体验 (Vue + Webpack) 来开发生产性能深度优化的小程序。
Mpx 具有以下一些优秀特性:
数据响应特性 (watch/computed)
增强的模板语法(动态组件/样式绑定/类名绑定/内联事件函数/双向绑定等)
深度性能优化(原生自定义组件/基于依赖收集和数据变化的 setData )
Webpack 编译( npm/循环依赖/Babel/ESLint/css 预编译/代码优化等)
单文件组件开发
状态管理( Vuex 规范/多实例/可合并)
跨团队合作 (packages)
逻辑复用能力 (mixins)
脚手架支持
小程序自身规范的完全支持
支付宝小程序的支持
开发团队表示,目前业界主流的小程序框架主要有 WePY、mpvue 和 Taro,这三者都是将其他的语法规范转译为小程序语法规范,我们称其为转译型框架。不同于上述三者,Mpx 是一款基于小程序语法规范的增强型框架,使用 Vue 中优秀的语法特性增强了小程序,而不是让用户直接使用 vue 语法来开发小程序,之所以采用这种设计主要是基于如下考虑:
转译型框架无法支持源框架的所有语法特性 (如 Vue 模板中的动态特性或 React 中动态生成的 jsx ),用户在使用源框架语法进行开发时可能会遇到不可预期的错误,具有不确定性
小程序本身的技术规范在不断地更新进步,许多新的技术规范在转译型框架中无法支持或需要很高的支持成本,而对于增强型框架来说只要新的技术规范不与增强特性冲突,就能够直接支持
目前 Mpx 框架已经在滴滴内部大量使用,支撑了滴滴出行、青桔单车、街兔电单车、营销、车服等业务在小程序上的实现,线上运行稳定,收到了大量的好评反馈。未来在对框架进行持续迭代优化的同时会持续跟进微信和支付宝最新的技术标准,同时也会将在更多的小程序平台上进行适配。
由于设计初衷和专注点在于增强小程序开发体验,Mpx 并没有进行跨 H5 甚至是跨 Native 的支持,但现实业务当中确实存在这样的诉求,未来开发团队会在Mpx 的基础上对跨端进行一定的尝试,与此同时依然会持续维护升级 Mpx ,原因在于跨端意味着灵活性受限及能力的缺失,希望能给用户提供第二种选择。
Mpx 与业内主流小程序框架异同对比
更多详情可查阅项目文档。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
key-value 存储系统 etcd 加入 CNCF 沙箱孵化器
在周二举行的 CNCF KubeCon + CloudNativeCon North America 2018 大会上,CNCF 透露etcd 已加入 CNCF 沙箱孵化器。 etcd 是一个分布式一致性键值存储系统,用于共享配置和服务发现,专注于: 简单:良好定义的,面向用户的 API (gRPC) 安全:带有可选客户端证书认证的自动 TLS 快速:测试验证,每秒10000写入 可靠:使用 Raft 适当分布 etcd 发起于已被Red Hat 收购的CoreOS ,目前被许多公司用于生产,并经常与Kubernetes、locksmith、vulcand、Doorman等应用配合使用。 CNCF 目前孵化的项目包括:OpenTracing、Fluentd、Linkerd、gRPC、CoreDNS、containerd、rkt、CNI、Jaeger、Notary、TUF、Vitess、NATS、Helm、Rook、Harbor 和etcd 。
- 下一篇
谷歌开源 TensorFlow 的简化库 JAX
谷歌开源了一个 TensorFlow 的简化库 JAX。 JAX 结合了 Autograd 和 XLA,专门用于高性能机器学习研究。 凭借 Autograd,JAX 可以求导循环、分支、递归和闭包函数,并且它可以进行三阶求导。通过 grad,它支持自动模式反向求导(反向传播)和正向求导,且二者可以任何顺序任意组合。 得力于 XLA,可以在 GPU 和 TPU 上编译和运行 NumPy 程序。默认情况下,编译发生在底层,库调用实时编译和执行。但是 JAX 还允许使用单一函数API jit 将 Python 函数及时编译为 XLA 优化的内核。编译和自动求导可以任意组合,因此可以在 Python 环境下实现复杂的算法并获得最大的性能。 demo: importjax.numpyasnp fromjaximportgrad,jit,vmap fromfunctoolsimportpartial defpredict(params,inputs): forW,binparams: outputs=np.dot(inputs,W)+b inputs=np.tanh(outputs...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Red5直播服务器,属于Java语言的直播服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS关闭SELinux安全模块