滴滴后市场前端技术体系

《滴滴出行》技术架构与智能算法深度解析 本文深度解析了滴滴出行的技术架构与核心智能算法。其技术底座基于云原生微服务体系,核心在于通过强化学习驱动的智能派单系统实现供需高效匹配,并运用时空图卷积网络(ST-GCN)等AI模型精准预测到达时间(ETA)与路况。此外,智慧交通赋能与实时安全风控共同构成了其作为出行科技平台的技术护城河。 阅读详情

经过两年的发展,作为汽车后市场各业务重要支撑的前端团队,随着业务的不断发展,从无到有,从基础到完善,沉淀了支撑业务的前端技术体系。

背景

对于技术体系建设,我们是想通过一些方法论,基础设施,形成一个体系化的解决方案,来更好的满足于我们的业务,前端团队,合作团队的场景化需求。

技术体系建设背景

原则

基于以上业务,前端团队,合作团队的背景,我们技术体系建设的原则是,形成一个前端闭环。对外,基于接口,单向依赖合作团队。对内,我们能掌控项目从开发到最终上线,维护的每个周期的细节。我们注重体系建设的标准化,开发者体验,和建设过程的阶段化和渐进增强。最终我们希望我们的体系能高效,高质量的支撑我们的业务。

技术体系建设原则

全景

最终来说,我们的技术体系,垂直方向,关注应用,代码,工程化,水平方向,将技术体系建设分为三个阶段。

第一阶段,主要关注业务的支撑能力。应用上,注重前端与客户端,服务端的分离。代码上,引入数据驱动,组件化的编程思想,创建了基础库,组件库,服务型SDK等基础设施。工程上,关注项目从创建到上线维护各个周期的规范,工具,系统建设。

第二阶段,主要关注业务的优化能力。应用上,低配设备场景下,引入ReactNative提升渲染性能,增加容器的离线缓存支持,对于重展示,轻交互的场景,我们开始做服务端渲染。代码上,我们统一使用JSX来做页面模板,废弃pugjs,并且基于统一的JSX,开始提供编译预渲染,服务端预渲染等技术。工程上,增加ReactNative,SSR的项目模板,引入Apollo进行容灾兜底开关控制。

第三阶段,主要关注业务的驱动能力。应用上,创建后市场独立应用容器,来统一收敛风险,提升各个渠道下一致性的用户体验,下沉贩泛前端场景下的公共服务。工程上,我们基于组件库做搭建系统,提升运营支持效率,创建测试,mock平台,提升整个研发体系的效率和质量。

技术体系建设全景

应用

注重前端与客户端,服务端的分离,客户端容器优化,页面性能优化,泛前端服务下沉。

应用

代码

客户端代码

在客户端,采用数据驱动,组件化的编程思想,基于基础库,组件库,编写组件逻辑,业务逻辑,使用路由进行页面管理。

客户端代码

服务端代码

在服务端,主要提供SSR的功能,整体上基于koa2,React等基础库,编写通用渲染,自动路由等中间件,在控制层做数据预拉取,路由层做请求分发。

服务端代码

工程

工程方面,在项目创建阶段提供分场景的项目模板。在开发&调试阶段,提供代码调试,接口调试,代码质量保证,自动化优化,预渲染等支持。在联调&测试阶段,提供前端环境docker,打包工具,代理工具。在上线阶段,做页面&服务的前端服务上线,静态资源的CDN上线。在维护阶段,提供线上运行状况监控以及容灾兜底开关。

工程

组件库

对于组件库建设,我们的目标是跨业务,跨端使用,首先推动垂直于各自业务的产品,设计一起产出跨屏,跨业务的设计标准。基于设计标准,前端关注组件的行为,布局,皮肤的常量和变量,设计底层抽象组件。以toast,loading,popover,dialog举例,行为上,他们的常量是,都会在文档流之上,展示一个浮层,他们的变量是,是否会锁定空白区域,是否能自动关闭等,所以我们就抽象了更底层的overlay组件。

再以跨端的toast举例,他们在行为,皮肤上是一致的,在布局上,他们的常量是,显示一个浮层,包含一段文字,他们的变量是,浮层大小,位置不同,所以我们就抽象了底层的toast组件,再去基于它实现各个端下的基础组件,基于基础组件,我们再做业务组件,最终形成一个跨端,跨业务的组件体系。

组件库

ReactNative接入

我们在已有技术体系下,基于ReactNative,封装了类web的容器,这个容器的交互方式与webview完全一致,然后,我们再复用体系中已有的基础库,组件库,和开发模式,最后,我们复用工程体系,并对部分流程做扩展改造,在打包时,我们会对ReactNative原生产出的包,进行拆包,静态资源外链,生成一个类似于html的资源索引文件,在维护阶段,复用已有的容灾监控体系,并且使用旧版本webview进行容灾兜底。

ReactNative接入

稳定性建设

对于稳定性建设,我们从交互,应用,代码,工程四个角度着手。在交互上,我们推动操作的状态化,错误可重试,以及主流程交互链路最小化。在应用上,我们做资源容灾,容器容灾,线上监控,以及一键降级处理。在代码上,我们进行外部依赖模块封装,外部数据校验,核心代码100%测试覆盖,规范模块复用,以及后续引入更健壮的语言。在工程上,我们进行自动化的检测和优化,复用经过实践考验的模块,工具,制定故障处理的制度和标准。

稳定性建设

以上是对滴滴后市场前端技术体系建设的一个简单介绍。目前整体的体系建设处于阶段二的末期,有意加入我们的同学,可以发邮件至wangfeng_cugb@163.com,期待合作。

树莓派4B+DroneKit实战:手把手教你用Python控制无人机飞行(附避坑指南) 本文提供了一份详尽的树莓派4B与DroneKit配置实战指南,涵盖从硬件选型、软件环境搭建到Python编程控制无人机的完整流程。文章重点解决了ARM架构下的兼容性问题、MAVLink通信配置及端口管理等常见难题,并附带了实用的避坑指南和代码示例,帮助开发者构建稳定可靠的无人机控制系统。 阅读详情

相关推荐

卫星载荷应用方案

本文将从技术和应用层面探讨卫星载荷的应用方案,分析各个领域的特点和挑战,以期为卫星载荷的应用提供一定的指导和参考。卫星载荷应用方案涵盖了通信、地球观测、气象预报、导航定位等诸多领域在每一个领域中,都存在着不同的技术挑战和应用需求。随着技术的进步和需求的变化,卫星载荷应用方案将不断发展和完善,为人类社会的进步和发展做出更大的贡献。用户可以通过接收多颗卫星的信号,计算自身的位置和速度信息。在覆盖扩展方面,可以采用多星座、MEO、GEO 等不同轨道高度的卫星布局,结合卫星的特点和应用需求,实现覆盖范围的扩展。

muyangjun的专栏 904

滴滴数据中台、海外架构、客户端性能优化等技术分享

滴滴出行在系统架构、客户端性能优化、安全准入、国际化业务架构、数据中台方面,有深厚的技术积累。2019年12月6-7日,在北京举办的ArchSummit全球架构师峰会上,滴滴出行技术副...

DiDi_Tech的博客 1778

关键词‖旋变传感器

旋转变压器(以下简称旋变)安装在永磁同步驱动电机的非传动端,其作用是检测转子的位置和速度。目前,通常采采用结构简单、坚固耐用、环境适应性好的磁阻式旋变作为位置传感器。

m0_72345077的博客 2152

滴滴Hummer框架:探索未来前端开发的终极跨端解决方案 [特殊字符]

在当今移动互联网时代,如何实现**一套代码多端运行**已成为前端开发者面临的核心挑战。作为滴滴出品的开源项目,**Hummer**框架正是为解决这一痛点而生——它是一套**移动端高性能高可用的动态化跨端开发框架**,为开发者提供了前所未有的开发体验。 ## 什么是Hummer框架? 🤔 Hummer是一个创新的**跨端开发框架**,它采用原生渲染技术,确保在不同平台上都能获得接近原生的性能和

gitblog_00081的博客 689

Pseudobulk与FindMarkers单细胞差异基因分析实战对比

本文深入对比了单细胞差异基因分析中Pseudobulk与FindMarkers两种主流方法。通过实战演示,详细解析了二者在底层逻辑、数据准备、分析流程及结果解读上的核心差异,并提供了基于不同生物学问题与数据特点的选择策略,帮助研究者做出更精准的分析决策。

weixin_29218963的博客 333

VMware Workstation Pro 17 高效安装与激活指南

本文详细介绍了VMware Workstation Pro 17的高效安装与激活方法,包括系统要求、安装步骤、常见问题解决方案及性能优化技巧。通过专业的指导,帮助用户快速掌握这款强大的虚拟机软件,提升工作效率。

weixin_29322855的博客 402

滴滴开源 LogicFlow:专注流程可视化的前端框架

桔妹导读:LogicFlow 脱胎于滴滴技术团队在客服业务下的实践,是由滴滴智能中台体验平台研发的一款流程可视化的前端框架,提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件...

DiDi_Tech的博客 1万+

新鲜出炉,ECCV2024.9.25 首次提出基于 YOLO 目标检测的无源域自适应

本文提出了首次使用YOLO系列单发探测器的SFDA方法。本文方法采用了一个带有学习的、目标领域特定的增强和一种新的通信机制的师生框架来稳定训练,减少了对模型选择中带注释的目标数据的依赖,这对现实世界的应用至关重要。SF-YOLO 优于所有基于Faster R-CNN的SFDA方法,甚至一些使用源数据的基于UDA yolo的方法。

m0_63294504的博客 2676

【第1184期】滴滴后市场前端技术体系

前言从“上帝的视角”来看整个体系,今日早读文章由滴滴@wfpaopao授权分享。正文从这开始~经过两年的发展,作为汽车后市场各业务重要支撑的前端团队,随着业务的不断发展,从无到有,从基础到完善,沉淀了支撑业务的前端技术体系。我们说的前端技术体系,指的是,我们在前端边界内,着眼于产出产品和服务的效率和质量,通过拆分和整合产出过程中的关键工作,最终所形成的一套包含代码,工具,理论,规范,文档等的支撑体

前端早读课 1878

手把手教你从入门到精通C# MES通信

本文是C#与MES通信通信的目录,使用C#与各种MES系统通信的方法我都会在专栏中讲到,比如WebService、Http、Ftp、共享文件夹、串口通信等,绝对是上位机软件工程师实现与MES系统通信的必备教程!

qq_34059233的博客 8752

19、情境理论中的信息结构解析

本文系统解析了情境理论中的信息结构,从信息元(infon)的基本概念出发,深入探讨了关系结构与简单信息结构的构建方法,分析了标准信息结构所满足的一系列公理(如A1-A14),并阐述了角色、同一性、高阶信息、循环现象、参数适当性及信息元部分性等核心性质。通过具体示例和流程图展示了信息结构的构建过程,并对比了不同公理下的结构差异,最后讨论了该理论在与其他领域融合中的发展趋势及面临的挑战。

book8的博客 79

滴滴『技术高层』再生变,高级副总裁章文嵩将离职,他曾为阿里云CTO,投身开源20年...

点击上方 "编程技术圈"关注,星标或置顶一起成长后台回复“大礼包”有惊喜礼包!每日英文If the heart has no place to perch on, yo...

程序员小乐 829

49、非合作目标运动参数估计与状态滤波方法研究

本文研究了非合作空间目标的运动参数估计与状态滤波方法。通过分析目标的章动运动特性,建立了运动方程,并分别提出了基于最小二乘法的质心运动参数估计方法和旋转运动参数估计方法。同时,设计了误差状态卡尔曼滤波器(ESKF)用于姿态滤波和角速度估计,以提高估计精度。仿真实验验证了所提方法的有效性,能够准确估计目标的运动参数和状态信息,为在轨服务提供了技术支持。

gpt4scribbler的博客 90

为什么 45 岁程序员精通各种技术体系,却连个面试机会都很难得到?

再往低点说,熟悉K8s,很多40岁以后程序员的简历都有这个能力,然而,低于20个pod以下用K8s就是浪费。我的总结,在自己职业末尾还有面试和继续工作的机会,一是他们贪念我之前做好的东西,二是自己与人打交道的能力,技术能力和项目经验反而是不太重要的东西。在这几家之外,这种能力就是累赘。换句话说,就是大多数40岁以上程序员,看着表面上熟悉的技术体系很多,但是绝大多数都是依赖特定的平台才能发挥作用的。有人问:当“精通各种技术体系”的资历,败给了“45岁”的数字,这究竟是个人的困境,还是整个行业亟待反思的偏见?

HollisChuang's Blog 277

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HTML期末作业-牛排美食餐厅网站,2024年最新滴滴前端面试题2024

中年危机是真实存在的,即便有技术傍身,还是难免对自己的生存能力产生质疑和焦虑,这些年职业发展,一直在寻求消除焦虑的依靠。技术要深入到什么程度?做久了技术总要转型管理?我能做什么,我想做什么?一技之长,就是深耕你的专业技能,你的专业技术。(重点)独立做事,当你的一技之长达到一定深度的时候,需要开始思考如何独立做事。(创业)拥有事业,选择一份使命,带领团队实现它。(创业)一技之长分五个层次栈内技术 - 是指你的前端专业领域技术栈外技术 - 是指栈内技术的上下游,领域外的相关专业知识。

m0_61067876的博客 752

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

2023年Java就业市场分析:薪资标准真相和技能提升之路

从 2022 年上旬开始触发的经济危机逐渐蔓延到普通人的生活中,裁员、倒闭、跑路俨然已成为刷爆朋友圈的高频热词。随之而来的是一系列因舆论所牵动的各种焦虑感弥漫在人群中,无论是大公司还是之前处于风口浪尖的明星创业公司,几乎无一幸免。聊天宝直接团队解散,京东将淘汰 10% 的员工,人人车经理以下的被“暴力”辞退,网易预计裁员 2000 人,阿里、滴滴、美团、知乎、新浪、58 到家等等叫得上名的大厂连隐瞒的心都没有了。

资料免费分享,点击名片 1364

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

45岁程序员精通各种技术体系,竟然连个面试机会都没有?

35岁的时候,在大厂通常能达到P7~P8的层级,在这个层级上,需要我们成为某领域专家,即⾏业中该领域专家,与之对应的,我们需要在这个领域进行大量实践,并且有突破⾏业现有水平的、更高层次的贡献。这就要求我们一定要提升个人的整体综合能力,比如说业务能力、管理能力等,再去选择适合自己的团队,到底是留在大厂继续突破,还是返回中小厂带领他们快速完成某⼀领域的技术体系建设,这是35岁职场⼈必须要规划的问题。人到中年,年龄越来越大,身体机能直线下降,不仅发际线呈现“退潮热”趋势,就连肚子上的肥肉也是“日进斗金”。

mukewangguanfang的博客 1436

我是如何拿到腾讯头条美团小米的offer从小厂跳到大厂的?实战篇

没有稳定的工作,只有稳定的能力。 又到了万物复苏的季节,在程序猿这个行当里,作为 Android 开发出生的,在经历了八年的脱发生涯后,有了越来越多的想法和感触 趋势 随着各类移动跨平台的兴起,在 ReactNative 、Flutter 、Weex 等框架的加持下,Android 开发的能力已不再局限于 Android 领域,而各大厂商近些年也针对跨平台的不足进行逐步完善: ReactNaitve 底层重构的新架构 Fabric,将管理器等往 C++ 迁移实现同步操作和性能优化; Flutter 1.

m0_57077995的博客 258

一文带你快速拆解云智慧前端技术架构

主讲人:王海虎,云智慧/智能研究院/算法工程经理。6年开发经验,主攻可视化方向、3d引擎、视野分析方向。18年开始做可视化方向,从前端工程师做到开发经理;开源项目FlyFish的负责人(荣获21年优秀开源项目奖);清华Thulab的DWF项目开发者之一;AntV贡献者之一。 通过本篇内容你可获得: 前端体系都有哪些技术栈? 它们的关系是什么? 都有什么用途? 云智慧的前端技术架构? 云智慧在产品中用到了哪些前端体系框架? 常用技术体系概览 常用的技术体系可以从这几个方面进行分类: 浏览器..

Sharon0408的博客 870

前端技术周刊 2018-01-26

前端快爆 Safari 11.1 正式版将跟随 iOS 11.3 和 macOS 10.13.4 一起发布,届时 Service Workers 会默认启用,CSS font-display 属性也会支持。更多特性详见:? 老丝点评:Service Workers 来了,PWA 还远吗? Firefox 59 支持了在 Media...

weixin_34313182的博客 227

疯狂涨知识!Android-App的设计架构经验谈,分享一点面试小经验

互联网现状 如今的互联网,延续了2018年的态势。虽然前些年,每到年底的时候大环境都不好,然而来年照样春暖花开。但是现在的互联网环境是真的不好了。 首先各大公司争相优化员工,小公司我就不提了,咱就只说大公司。先有阿里、百度、京东、网易、美团和滴滴,再有外企甲骨文和IBM。前些年各大公司优化员工的时候都藏着掖着,而且用词很含蓄,都说是正常的人员流动和业务调整。今年就不同了,没必要藏着掖着了,而且有些公司由于补偿到位,还裁出了一片好评。 最开始大家以为只是移动端环境不好,到现在才发现,是整个互联网环境都不好了。

chayel123的博客 136

滴滴程序员面试,安卓已死,互联网大厂100道Android面试题助你冲关金三银四

(一)调整好心态心态是一个人能否成功的关键,如果不调整好自己的心态,是很难静下心来学习的,尤其是现在这么浮躁的社会,大部分的程序员的现状就是三点一线,感觉很累,一些大龄的程序员更多的会感到焦虑,而且随着年龄的增长,这种焦虑感会越来越强烈,那么唯一的解决办法就是调整好自己的心态,要做到自信、年轻、勤奋。这样的调整,一方面对自己学习有帮助,另一方面让自己应对面试更从容,更顺利。(二)时间挤一挤,制定好计划一旦下定决心要提升自己,那么再忙的情况下也要每天挤一挤时间,切记不可“两天打渔三天晒网”。

2401_83977357的博客 385

程序员必看!被腾讯辞退的高级Android工程师现在怎么了?威力加强版

前言 早在2017年我们就建了第一个进击BAT的Android开发进阶交流群,两年期间很多群友都分享了自己的Android面试经历。其中就有很多群友已经斩获蚂蚁金服,天猫,高德,盒马等阿里系offer 收集反馈的面经资料比较乱,最近疫情期间终于空出大量时间,我们进行了分类,循序渐进,由基础到深入,由易到简。 将内容整理成了五个章节、计算机基础面试题、数据结构和算法面试题、Java面试题、Android面试题、其他扩展面试题、非技术面试题总共五个章节354页。 说到高级工程师,大家的第一印象自然就是工作经验

clhcowboy的博客 555

从生态、标准、应用看中国开源 30 年!

作者 | 屠敏出品 | 优快云(ID:优快云news)开源已成为技术创新和产业发展的重要模式。过去三十年来,从 UNIX、Linux 等开源技术的引入,到 Vue、Ant Design...

优快云资讯 2082
上一篇: react长列表优化方案: react-virtualized
下一篇: 关于 cdn、回源等问题一网打尽
「已注销」
博客等级 码龄14年 16粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值