公司:58同城
58同城(NYSE:WUBA),简称58,是一家位于中国北京市的生活服务及分类信息网站,以在地服务为主,举凡租房、招聘、交友、水电、二手交易等等,由北京五八信息技术有限公司拥有,创始人是姚劲波,成立于2005年12月12日。该网站是中文最大的生活信息网站,该网站的口号是“一个神奇的网站”。
设计模式初探
设计模式是前人经过不断实践,总结出来的类似于武功秘籍的定式,是某种场景下解决该问题的优雅方式。
Vite 原理浅析及应用
尤大在 19 年就已经有了 Vite 的想法,只不过那个时候还在忙 Vue3 的重构,并没有太多的时间来具体实现,之后 Vue3 几乎成型后,尤大也就开始研究 Vite 的开发了,在 20 年的时候就发了微博、知乎、推特等社交账号说明,并将源码上传至 Github 。
流程开放平台表单引擎的设计与实现
58 的 OA 系统中存在上百个业务表单与审批流程,每个表单都需要单独开发,而且每个表单上线之后,都经常出现与其他表单重复的小需求,这些问题导致了 OA 系统上线新表单及维护旧表单的效率非常低,大概每两周只能上线一个业务表单或审批流程。因此,58 企业平台开始着手尝试使用技术手段提高此类业务表单与审批流程的开发上线效率,解决这些重复的、有规律的表单页面与审批流程的开发维护效率问题。低代码、0 代码平台是一种通过尽可能少的代码就可以快速生成应用程序的开发平台。通过所见即所得的方式,使没有技术背景的运营人员也可以使用拖拽组件和预设的流程模型来创建应用程序,避免让研发团队重复开发相似需求,提高业务表单与流程的研发效率。本篇文章主要介绍 58 流程开放平台中表单设计器和渲染器的设计与实现。
FFmpeg初探——基于FFmpeg的图片合成视频
商家在发布商品的时候,大部分情况下是没有视频的,这样往往会造成商品展示不全等问题,而视频制作又比较麻烦,为了解决此痛点,我们需要提供一键合成视频的功能。
之所以选择 FFmpeg,是因为我们期望后续能够进行视频剪辑、字幕添加等更复杂的音视频操作。下面我们就来了解下什么是 FFmpeg。
小卡片也要有规范
无规矩不成方圆,在页面设计中亦是如此,规范的制订尤为重要,本文与大家一起探讨一下规范的制订与推进。
react hooks设计初衷
介绍hooks的设计初衷,对比class写法作简要介绍和总结。
搭建场景下的页面编译提速方案探索
可视化搭建平台已经比较普及了,具体原理本文不再赘述,这里和大家聊一聊搭建平台重要的一步:c端页面的生成流程。实际上主流的方式有以下两种:
- 动态化方案:c端维护一个统一的入口页,动态拉取所需配置项以及组件代码。这种方式的优点是发布迅速,可批量更新、修复代码,但相应的需要维护一套后端服务,用以处理配置项的存储解析,组件的版本管理,页面组件的关系映射等。
- 静态固化方案:每次生成页面时,根据特定活动的配置数据生成一个包含组件以及配置信息的入口文件,然后走一遍完整的前端编译流程。其优点是无需后端服务,不用再担心大促活动时的高并发影响,且页面与页面之间完全隔离、更可控,同时在c端页面的体验上要优于动态化方案。
以下就静态固化方案介绍下我们在编译速度上所做的优化。
前端调试的最佳实践
如何快速定位和解决问题,前端调试指南供大家参考。
G6自定义节点的不完全指北
前段时间有个好玩的需求:把人、货、场的整个流程通过一个个节点有序排列出来。一开始觉得这很简单呀,用G6一条线搞定。接着,需要把不同领域拆分开来,那也简单,按照规则拆出几份出来就好了。但在做的过程中,发现不太对,每个领域在同一个时间节点的数据没有上下对齐,每个节点下罗列的几行内容,横向看起来也有错落,看起来不直观。接着,对整个数据结构进行一个算法调整,完美实现上下对齐,图文节点清晰。过程中踩了些许的坑,很上头。
如何让你的设计超越竞品,看这里就够了
设计超越竞品不能片面的论证是否超越竞品,而是建立在助力业务目标实现的基础上,所以设计超越竞品是需要基于不同维度进行可量化的效果评估,以用户的理性选择得出设计评估的客观结果。
一场开源 RSA 库引发的“血案”
本文结合 58 iOS App 项目实践,分享一次奇异的 Bug 排查经历,谈谈 GitHub 上一个知名的 RSA 算法库 Objective-C-RSA 使用过程中遇到的一些暗坑。此现象并非个例,希望对读者有所启发。
如何打造企业级插画系统?
近年来,面对企业内部产品的多样性和业务快速增长,插画系统不仅提升了产品的整体美观度,也让工具变得高效。组件化的插画设计增加了界面的美观性,更好地传递品牌特性的同时也提升了协同效率。
统一富媒体动效控件
富媒体当下各种样式的控件庞乱繁杂,接口方法不统一,开发者经常使用富媒体控件开发时需要注意的细节较多,比如要事先了解多种控件的api请求方法。
另外,富媒体当下发展得很快,快速迭代滋生了媒体控件的多和杂(工程中图片和视频类控件有很多种)。
当下环境的缺口是,整个市场没有一个统一封装的富媒体动效控件,整个应用级别目前没有一个整体的富媒体资源缓存机制,也没有一个与列表类控件形成高效复用的综合富媒体控件。
转转Hybrid-SDK重构和实践
转转的移动端开发体系主要是基于 Hybrid 方案,但长久以来 Webview 容器和 SDK 管理等存在标准不统一、更新不及时的问题。随着转转/找靓机/采货侠等多环境开发场景越来越多,适配不同场景极大的影响了业务迭代效率。所有我们决定重新规划 SDK 的建设。
Swift在58安居客房产实践
58集团与2020年底启动了Swift共建项目,内部称为混天项目。目标是搭建Swift的基础组件、辅助工具及基础设施。制定集团Swift开发规范和代码检测工具以及Swift在各个业务线中的落地。
房产业务作为集团核心产业,深度参与了混天项目的研发及Swift的落地。下面的内容主要是Swift在房产业务线从0到1落地的过程中遇到的一些问题和探索。
目前公司项目都是OC语言开发的,在这样的一个快速迭代历史悠久的项目中,短期内是不可能将所有项目用Swift重写,所以我们前期采用的都是Swift和OC的混合开发。
合成监控在转转的实践
众所周知,性能在提升网站留存率和转化率方面扮演着很重要的角色,尤其对于转转这种电商网站,性能会间接影响到公司的收入。
但是如果让你去描述你们网站应用的性能时,你会怎么回答。你可能会说:比市面上大部分应用要好。但是如果要你说出好在哪里又该如何描述呢?这个时候我们就会想到先对网站进行性能监控,用数据说话。但是监控哪些指标、怎么监控呢?