开源项目使用及选型

简介:

一、为什么选择开源项目

1. 快速开发

 

2. 站在巨人的肩膀上

成熟的开源项目,功能完善、设计优秀,细节点考虑周全,不用像自己开发一样需要从头去全面开发、测试、完善。本身也是好的学习材料。Android 本身就是在 Linux、Java 上发展起来的。

 

3. 社区、全网智慧

成熟的开源项目会被众多项目采用,运行在各种场景下,实用性更强,场景更广,同时使用者通过 PR 可以完善项目、修复 Bug,增强项目,由社区维护,而不像一些公司自己开发的,主导者走了就成为了烂摊子。

 

二、如何选择开源项目

1. Star、PR、Issues、维护

Star 是一个项目最直接的被关注程度指标,不过这个功能已经被当做“收藏”功能了。

 

相对来说 PR、Issues 相对更重要,说明这个项目有多少人在使用了、发现了问题、完善了它。Issues List 已经变成了了解一个项目坑的很好资料。

 

2. 文档

方便快速集成,同时也说明开发者对这个项目的维护程度。

 

3. 知原理

这个是容易被忽视的,大多数人用开源项目看看文档,调用 API OK 就完事了。殊不知可能就默默埋下了地雷,在项目上线后突然爆发。

 

4. 业务场景

根据具体使用场景及项目已经选择的库选择。
比如图片缓存选型就涉及到 App 是否大图比较多、是否尺寸敏感。是否已经选择了 okhttp 库等。

目录
相关文章
|
5月前
|
设计模式 前端开发 开发者
个人开源项目商业化经验分享
开源项目推向商业化道路的开发者,将自的经历分享出来与诸位一同交流,期望大家能够少走弯路,让开源项目更健康的活下去。
个人开源项目商业化经验分享
|
7月前
|
SQL 前端开发 程序员
拥抱开源,构建未来:王嘉树与 TDengine 的开源之旅
在当代的技术浪潮中,开源文化不仅催生了无数创新技术,也为广大技术爱好者提供了一个展示才华、相互学习的平台。我们今天采访到的这位北京邮电大学电子工程学院的研究生,就是在这样的背景下,通过开源活动不断探索、学习并实现自我突破的典型代表,他就是王嘉树。
68 0
|
Cloud Native 安全 测试技术
开源项目的最佳实践
开源项目的最佳实践
116 0
|
自然语言处理 运维 监控
阿里云中间件发展历程和开源现状 | 学习笔记
快速学习阿里云中间件发展历程和开源现状
阿里云中间件发展历程和开源现状 | 学习笔记
|
分布式计算 运维 DataWorks
带你读《企业级云原生白皮书项目实战》——5.2.5 多引擎开发参考
带你读《企业级云原生白皮书项目实战》——5.2.5 多引擎开发参考
147 0
|
SQL 存储 缓存
带你读《企业级云原生白皮书项目实战》——5.4.5 功能进阶(上)
带你读《企业级云原生白皮书项目实战》——5.4.5 功能进阶(上)
135 0
|
搜索推荐 Cloud Native 安全
带你读《企业级云原生白皮书项目实战》——5.4.5 功能进阶(下)
带你读《企业级云原生白皮书项目实战》——5.4.5 功能进阶(下)
145 0
|
Serverless
《Serverless架构在软件工程开发实践的价值》电子版地址
Serverless架构在软件工程开发实践的价值
116 0
《Serverless架构在软件工程开发实践的价值》电子版地址
|
Cloud Native 开发者
云原生应用插件扩展训练营上线,帮你开始开源社区贡献者之旅!
阿里云开发者学堂联合云原生开发平台推出了云原生应用插件扩展训练营,帮你开始开源社区贡献者之旅!
云原生应用插件扩展训练营上线,帮你开始开源社区贡献者之旅!
|
NoSQL 关系型数据库 MySQL
【云原生 | 拓展01】手把手教你搭建ferry开源工单系统
erry 是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统,当然也可以称之为工作流引擎。 致力于减少跨部门之间的沟通,自动任务的执行,提升工作效率与工作质量,减少不必要的工作量与人为出错率。.....................
1790 0
【云原生 | 拓展01】手把手教你搭建ferry开源工单系统