工欲善其事,必先利其器。平时在项目开发的工程中,很少自己造轮子。自己人造的轮子难免会出很多“意想不到”的bug,还会引起其他同事的“不爽”。基本上项目开发都采用开源项目,相对靠谱。 关于“意想不到”的bug,这一点让我感慨万千......第一份工作时,做的的是一个xamarin的android客户端,一个ListView列表的Adapter,居然没有一个通用的BaseAdapter,一个人写一套,到处都是,你用你的,我用我的。代码冗余、bug不断。后来......这个就成了历史原因,变成了一座“屎山” 写这篇文章,盘点一下BAT牛逼的开源项目,国产的也有很多干货。开源项目的顺序按照阿里巴巴、腾讯、百度(基于现实嘛)。 阿里系开源项目01 Ant Design是蚂蚁金服开发和正在使用的一套企业级的前端设计语言和基于 React 的前端框架实现。 特性
https://github.com/ant-design/ant-designstar:54K 02 fastjson- Java 的 JSON 处理器Fastjson是一个Java库,可用于将Java对象转换为其JSON表示形式。它还可以用于将JSON字符串转换为等效的Java对象 特点
https://github.com/alibaba/fastjsonstar:20.1k 03 Druid-为监控而生的数据库连接池Druid是一个 JDBC 组件,阿里巴巴数据库事业部出品,为监控而生的数据库连接池。 特点
https://github.com/alibaba/druidstar:19.5k 04 Arthas-开源 Java 诊断工具Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具,深受开发者喜爱。Arthas 采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断 特点当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
https://alibaba./arthas/star:18.2k 05 ice-飞冰,简单而友好的前端研发体系简单而友好的前端研发体系,海量可复用物料,搭配 GUI 工具极速构建前端应用。 特点
https://github.com/alibaba/icestart:14.2k 百度系开源项目01 echarts这是百度第一个进入国际顶级开源社区的项目。全球著名开源社区Apache基金会宣布“百度开源的ECharts项目全票通过进入Apache孵化器”。 ECharts开源来自百度商业前端数据可视化团队,基于HTML5 Canvas,是一个纯JavaScript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。特点ECharts是一个免费的,功能强大的图表和可视化库,它提供了一种简单的方法来向您的商业产品中添加直观,交互式和高度可定制的图表。它使用纯JavaScript编写,并基于zrender,这是一个全新的轻量级画布库 https://github.com/apache/incubator-echarts 02 Kity Minder-在线脑图编辑器KityMinder 是百度 FEX 团队的 f-cube 小组(原 UEditor 小组)的又一力作。作为一款在线的脑图编辑工具,它有着不亚于 native 脑图工具的交互体验。同时,它充分发挥了 Web 云存储的优势,可以直接将编辑中的脑图同步到云端。此外,借由独创的 “云盘分享”功能,用户可以一键将当前编辑的脑图直接生成在线链接共享给其他用户,实现无缝沟通。产品地址:http://naotu.baidu.com https://github.com/fex-team/kityminderstar:3.3k 03 ueditor富文本编辑器UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。githubhttps://github.com/fex-team/ueditorstar:4.9k 04 WebUploader 上传控件WebUploader 是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,延用原来的FLASH运行时,兼容IE6+,Andorid 4+,IOS 6+。两套运行时,同样的调用方式,可供用户任意选用。采用大文件分片并发上传,极大的提高了文件上传效率。官网地址:http://fex.baidu.com/webuploader/ 特点 1.分片、并发分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。 当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。 2.预览、压缩支持常用图片格式jpg,jpeg,gif,bmp,png预览与压缩,节省网络数据传输。 解析jpeg中的meta信息,对于各种orientation做了正确的处理,同时压缩后上传保留图片的所有原始meta数据。 3.多途径添加文件支持文件多选,类型过滤,拖拽(文件&文件夹),图片粘贴功能。 粘贴功能主要体现在当有图片数据在剪切板中时(截屏工具如QQ(Ctrl + ALT + A), 网页中右击图片点击复制),Ctrl + V便可添加此图片文件。 4.HTML5 & FLASH兼容主流浏览器,接口一致,实现了两套运行时支持,用户无需关心内部用了什么内核。 同时Flash部分没有做任何UI相关的工作,方便不关心flash的用户扩展和自定义业务需求。 5.MD5秒传当文件体积大、量比较多时,支持上传前做文件md5值验证,一致则可直接跳过。 如果服务端与前端统一修改算法,取段md5,可大大提升验证性能,耗时在20ms左右。 6.易扩展、可拆分采用可拆分机制, 将各个功能独立成了小组件,可自由搭配。 采用AMD规范组织代码,清晰明了,方便高级玩家扩展。 https://github.com/fex-team/webuploaderstar:7.1k 05 Disconf-分布式配置管理平台Distributed Configuration Management Platform(分布式配置管理平台)专注于各种 分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务。包括 百度、滴滴出行、银联、网易、拉勾网、苏宁易购、顺丰科技 等知名互联网公司正在使用!主要目标
https://github.com/knightliao/disconfstar:5.1k 腾讯系开源项目01 FrozenUI CSS组件库,基于腾讯手Q样式规范FrozenUI的CSS组件库,基于腾讯手Q样式规范。特点FrozenUI 是一套基于移动端的UI库,轻量、精美、遵从手机 QQ 设计规范。 适用于使用手Q规范设计的Web页面,而针对非手Q规范的页面,可通过修改变量定制界面主题,并且可以按需选择需要的组件。 使用iconfont展示图标,包含了按钮,列表,表单,提示,弹窗等常用组件,新增文本,布局,1px, rem,文字截断,占位,两端留白,两端对齐等解决方案,同时解决了移动端屏幕适配问题。https://github.com/frozenui/frozenuistar:2.9k 02 NCNN-手机端极致优化的高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑手机端的部署和使用。无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖。ncnn 目前已在腾讯多款应用中使用,如 QQ,Qzone,微信,天天P图等。 支持大部分常用的 CNN 网络
https://github.com/Tencent/ncnnstart:7.8 03 Omi- 前端跨框架跨平台框架腾讯开源的通用 Web 组件化框架 ,全面拥抱 Web Components。 Web Components 包含四项技术标准规范:CustomElement、Shadow DOM、Template 与 HTML Import,Omi 框架使用了其中最为重要的 Custom Element 和 Shadow DOM 能力,Template 使用语法噪音最小编程体验最好的 JSX 来替代作为 UI 结构的表达式,HTML Import 使用 Webpack 或者其他任意流行打包工具来替代https://github.com/Tencent/omistar:10.4k 04 Tinker-腾讯的热修复框架Tinker是腾讯出的一款热修复框架,可以修复代码,资源文件,so库,但不能新增四大组件。什么是tinker?热修复与增量更新的本质区别:增量更新是根据new.apk和old.apk按照bsdiff算法,生成一个patch,然后将patch通过服务端推送,推送给客户端,客户端下载patch,再使用bsdiff算法,将patch和old.apk生成新的apk,完成升级。需要重新安装。 热修复,是不需要进行重新安装,所以这就导致了热修复是不能新增四大组件的。 https://github.com/Tencent/tinkerstar: 4.5k 05 weui-同微信原生视觉体验一致的基础样式库WeUI是一套同微信原生视觉体验一致的基础样式库,为微信Web开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、toast、article、icon等各式元素 https://github.com/weui/weuistar:23.7结语:看得出BAT在开源生态上的差距吗,BAT哪个更牛逼相信你在github能找到答案 |
|
来自: dotNet全栈开发 > 《玩转GitHub》