查看原文
其他

滴滴开源在2019:十大重点项目盘点,DoKit客户端研发助手首破1万Star

CSDN App AI科技大本营 2019-12-25


整理 | Jane
出品 | AI科技大本营(ID;rgznai100)


2018 年,科技企业纷纷布局开源战略后迎来的第一个“丰收年”。但对滴滴来说,2019 年才迎来其第一波开源小高潮。
 
自2017年滴滴零星开源数个项目后,滴滴开源项目的数量在2018年逐步线性爬升至 12 个。2019 年,滴滴在GitHub上目前已经对外开源 35 个项目,仅 2019 年一年开源 20 个,总 Stars 数超过 5 万,在 Github 全球组织排名进入前100名。其源项目从单一的前端项目,覆盖技术领域扩大至人工智能、小程序、智慧交通、中间件、前端框架、研发工具等。
 
其中,2019 年开源的小程序工具 Dokit 是滴滴所有开源项目中第一个破 1 W Stars 的项目,Fork 数 1.6k;2017 年--2018 年间在移动端和小程序领域里开源的三大项目目前均已超过 7 k。
              
整体来看,滴滴在移动端、小程序和 AI 技术领域具有一定优势,这三大领域的开源项目比较多。
 

重点开源项目盘点

 
  • 人工智能领域

 

1、DELTA

 
             
 
DELTA 是一个基于深度学习的端到端自然语言处理和语音处理平台,使用 TensorFlow 和 Python 3 来实现。滴滴开源 DELTA 希望能给研究者与开发者提供更简单快捷的使用与部署体验,降低开发模型的难度。
 
DeLTA 架构与模型配置                         
目前已获得 1 k Stars,开源地址:
https://github.com/didi/delta
 
  • 小程序

 

1、DoraemonKit

 
             
  
DoKit,希望这个项目能像哆啦A梦一样,给你任何你想要的工具。目前已经可以支持 Android、ios 和微信小程序等客户端。DoraemonKit 能够快速把业务测试代码统一管理,做统一收口;还内置了很多常用的工具,避免重复实现,一次接入将可拥有强大的工具集合。
 
             
 
目前已获得 12.4k Stars,开源地址:
https://github.com/didi/DoraemonKit
 

2、Chameleon

 
             
 
一个功能在不同端实现,你写了几套代码?3、5 还是全套?
 
正如 chameleon 的中文译名“变色龙‘一般,它是一个能让你的代码适应不同环境的跨端整体解决方案。一套代码可运行多端,可支持web、微信小程序、支付宝小程序、百度小程序、android(weex)、ios(weex)、qq 小程序、字节跳动小程序、快应用等。有了这个以一生五能力,你的开发效率就是别人的五分之一。
 
             
 
目前已获得 7k Stars,开源地址:
https://github.com/didi/chameleon
 

3、MPX

  
           
 
MPX 是一款可以提高小程序开发体验的增强型小程序框架。有了 Mpx,开发者能以最先进的 web 开发体验来开发生产性能深度优化的小程序。
 
它具有的诸多特性
              
目前已获得 1.9k,开源地址:
https://github.com/didi/mpx

  • 移动端

 

1、VirtualAPK

 
             
 
VirtualAPK 是滴滴首个开源项目。这款功能强大又轻巧的插件框架,适用于 Android,可以帮助开发者 / 企业随时通过更新插件的方式来发布新功能,拥有功能完备、基本无入侵、插件可轻松访问宿主代码和资源、高兼容性这四大核心优势。
 
目前,已获得 7.7 k Stars,开源地址:
https://github.com/didi/VirtualAPK
 

2、cube-ui

              
滴滴开发的基于基于 Vue.js 实现的 Web 移动端组件库Cube-UI 是从滴滴内部业务中不断取其精华得来的,为后续集成保驾护航。cube-ui 组件主要包括 3 部分:基础组件、弹出层组件和滚动组件。目前共开源 14 个通用性强的组件。有了这款组件库,移动端开发者可以简化开发过程,专注业务逻辑从而提升开发效率。
 
目前已获得 7.5k,开源地址:
https://github.com/didi/cube-ui
 

3、mand-mobile

             
 
mand-mobile 是一款基于 Vue 的移动端 UI 组件库,丰富、灵活、实用,快速搭建优质的金融类产品,让复杂的金融场景变简单。
              
目前已获得 2.3k,开源地址:
https://github.com/didi/mand-mobile

4、Booster

               
对于 DAU 已达千万级的滴滴 App 来说,能承受的崩溃率是非常脆弱的,哪怕只有万分之一,都会有上千名用户受到影响,更何况整个平台上所有司机都是长时间在线,所以系统性能的稳定性更是首要保证的。
 
随着用户数量增多、场景与需求越来越复杂,App 必然面临着诸多性能与安全方面的挑战,而 Booster 就是为解决这一问题而设计研发的。它是针对移动应用设计的一款易用、轻量级且可扩展的质量优化框架,主要就是为了解决 APP 复杂度的提升而带来的性能、稳定性、包体积等问题。
 
  • Go 语言技术栈

 

1、Gendry

 
滴滴业务平台中,在”高可用“需求下,离不开 Go 技术栈在背后的支撑。无论是滴滴订单系统、派单引擎乃至存储中间件中都离不开 Golang 的应用。
 
而 Gendry 就是滴滴为 Go 开源社区贡献的项目,这是一个数据库操作辅助工具 gendry,提供了三个工具,分别帮助管理数据库链接,构建 SQL 语句,以及 完成数据关系映射。
 
目前已获得 917 Stars,开源地址:
https://github.com/didi/gendry

  • 智慧交通

1、TrafficIndex


滴滴业务中场景很复杂,其中交通拥堵评价与计算是一个至关重要的问题。其中 TTI( Travel Time Index)是业内使用较多的城市拥堵程度的评价指标,是反应实际花费的行程时间与自由流花费行程时间的比值关系,值越大表示交通运行状态越差,一般与拥堵程度正相关,其它如异常天气(如雨、雪、雾等)或者异常道路情况也可能对TTI的数值产生影响。
 
滴滴是如何计算这个指标的?滴滴通过开源 TrafficIndex 项目将自家的方法与大家分享,为决策者提供决策支持。
 
基本思想为:
 
(1)速度计算:如果一条 link 有两个连续时间片,分别为 t1、t2, link 长度为S,那么 t1 到 t2 这段时间内,link 的平均速度 v 为 v = 2·S / (t1 + t2)。
 
(2)TTI 计算:在同一条link在一个时间片内,tti = 自由流速度 / 实际速度。
 
详细计算方法,可见开源地址:
https://github.com/didi/TrafficIndex

受益于开源,回馈于开源

 
除了围绕滴滴内部业务发布开源项目,滴滴也对许多外部开源软件做了积极的贡献,例如 ceph,flink,hadoop,kylin 等。
 
在 2019 年第十四届开源中国·开源世界高峰论坛上,滴滴出行高级副总裁章文嵩曾提到“滴滴目前年运送乘客达 100 亿人次,滴滴平台每天 ETA(预计到达时间)请求在 700 多亿次。滴滴 6000 名研发人员所搭建维护的十分庞大的技术框架中离不开开源软件的支持,滴滴受益于开源,也将回馈于开源”。
 
从 2017 年到 2019 年,滴滴花了很长的时间、精力与资源专注在开源上。一方面在内部进行上下合力合作;另外,对外协作可谋求共赢。2019 年 10 月,蚂蚁金服开源了 一款机器学习工具SQLFLow,将SQL程序翻译成Python程序,调用数据库和AI引擎,实现端到端的AI。随后,滴滴与蚂蚁金服达成合作,开启了共建SQLFlow之旅。
 
这两年,滴滴开源也非常积极与基金会合作,如 Linux 基金会及其子基金会 CNCF、LFAI、CEPH 的会员。2019 年,滴滴还被 CNCF 基金会授予最高最终用户奖,也是今年亚洲唯一获奖的企业;滴滴还是 LFAI 的初创会员;ceph 基金会的初创会员,对 ceph 基金会的贡献全球排名第17位。
 
滴滴也将打通内部上下、连接企业内外的好项目开源,进一步回馈社区,丰富开源生态。
 
滴滴开源项目的整体进展
https://didi.github.io/



(*本文为AI科技大本营整理文章,转载微信联系 1092722531)

精彩公开课



推荐阅读

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存