首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

滴滴WebApp实践经验分享

滴滴WebApp实践经验分享黄轶,前端技术专家,现就职于滴滴出行公共FE团队,前端技术专家,《Vue.js权威指南》主要作者。计算机专业硕士,2012年毕业于北京科技大学,曾任职百度。擅长前端自动化、工程化,前端架构等方向。业余时间喜欢写点H5小游戏,偶尔造造轮子。喜欢关注业界一些新技术,乐于分享,热爱开源。对代码有洁癖,追求高质量的代码。

2.前端工程化在WebApp的实践需求分析(1)支持模块化开发,包括JS和CSS。(2)组件化开发。一个组件的JS、CSS、模板放在一个目录,方便维护。(3)多个项目按项目名称+版本部署,采用非覆盖式发布。(4)允许第三方引用项目公共模块。(5)要支持CSS预处理器,前端模板。(6)与公司的jenkins发布平台配合,上线方便。(7)前后端分离,前端可以独立自主上线。

按项目名称+版本发布的fis-conf.js配置规则如下:

编译后部署的目录结构如下:

3.通用地图JS库的设计和实践需求分析(1)支持多种地图、多种地图场景的开发。(2)屏蔽底层地图库(高德、腾讯)的接口差异。(3)实现小车平滑移动。解决方案(1)底层对腾讯地图和高德地图分别封装(不会在源码中出现if(qq){}风格的代码),依据webpack动态打包成2个JS文件,上游根据需求异步加载JS,对外提供同一套编程接口。

行程分享这个场景中,有等待接驾、行程中、行程结束等状态,有轨迹,小车平滑移动等功能。我们要做的就是利用通用地图JS库提供的接口去编写行程分享的逻辑。贴一下部分代码,看一下如何去使用封装好的地图JS库。我们可以先去写一个行程分享的场景:tripShare.js

然后我们这样去注册场景。

我们可以调用场景的方法,又由于场景继承了EventEmitter事件中心,它会通过trigger派发事件,我们可以监听这些事件,去做一些事情。4.统一登录SDK的设计需求分析(1)滴滴有众多业务线,每个业务线都有独立的域名,需要打通各个WebApp域名的登录态。(2)方便新老业务线、运营活动等页面接入登录。(3)提供简单、友好的接口。

技术栈(1)原生js(2)webpack打包5.通用客户端JSBridge的封装需求分析(1)内嵌在滴滴app端里的页面,需要通过JSBrigde的方式获取端的一些能力。(2)屏蔽IOS端和Android端的一些底层通讯差异。(3)提供简单、友好的接口。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180714A08TCE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券