开源技术推荐之个人使用心得

简介: 我推荐的这些项目,我自己都在实际开发环境中使用过,目前暂时没有遇到副作用,当然也不排除存在副作用,当然了,就目前web应用开发而言,还没有遇到严重影响项目对外提供正常服务。另外这些开源项目的源代码都是对外完全开放的,大家如果觉得它只能满足大部分需求,不满足特定需求,可根据个人能力或团队能力自行改造。

我推荐的这些项目,我自己都在实际开发环境中使用过,目前暂时没有遇到副作用,当然也不排除存在副作用,当然了,就目前web应用开发而言,还没有遇到严重影响项目对外提供正常服务。另外这些开源项目的源代码都是对外完全开放的,大家如果觉得它只能满足大部分需求,不满足特定需求,可根据个人能力或团队能力自行改造。

正如jeesite对MyBatis那样,jeesite觉得MyBatis不符合其实现零编程的想法,就自己对MyBatis加以改造,改造后的MyBatis其零编程的思想(通过界面配置生成代码和界面,不管是单表还是多表,还是其他复杂的逻辑,基本都能通过界面配置完成,使程序员脱离了重复性编程)在项目开发中,发挥的非常不错,但是我个人从公司开发的角度思考觉得还是有风险的,需要慎用或是不用,记得《不止代码》中提过,任何开源新项目不可忽略之重要因素就是Bug。哪怕是像Spring或者SpringBoot及其MyBatis等国外大牛开发的项目,或是我们Java开发者开发中所使用的API都或多或少是存在Bug的。Spring、MyBatis及其SpringBoot与jeesite相比,在业界广泛应用,其文档和国内资源相比新兴的jeesite4.0要丰富的多,而且jeesite其本身就是用这些技术,可以说jeesite的基石就包含它们。不可靠原因,其开源作者并未对核心代码开源,主要是持久层代码和工作流,导致有的时候排查问题会有阻碍,如果一旦使用,意味着存在许多未知的危险,有的时候因为这些未知的风险,可能会使项目产生停顿,这就不得不慎用开源项目。不开源也是可以理解的,因为该开源项目开发者们主要靠其盈利,更何况中国人的学习能力是非常强大的,为了避免和减少损失,只得闭源,我想这也是国外IT技术为什么比国内要厉害的原因之一,国外的创新能力和分享精神是值得我们国内IT界人士学习的。

总而言之,对于公司的项目所使用的技术,最好是非常熟练,达到精通是最好的。而像jeesite这种开源项目,很多时候出问题,该团队一时半会也无法及时解决,而我们团队并不是开发者,因此排查问题和解决问题,一方面需要时间的,另外一方面需要理清代码实现思路,而且最后也不一定能解决,特别是项目赶进度的时候,这个时候是不允许停滞不前的。在这声明下,并不是说jeesite不好,而是使用开源项目要慎重,孙子曰:兵者,国之大事,死生之地,存亡之道,不可不察也。软件开发,同样如此。技术实现业务,技术的质量,关系到项目的存亡,项目的存亡,关系到公司的前途。

 

 

《不止代码》中那篇专门讲使用开源项目文章的题目叫:

使用开源项目的正确姿势,血和泪的总结

地址为;http://techforum-img.cn-hangzhou.oss-pub.aliyun-inc.com/1530517140411/Codelife.pdf?Expires=1535727727&OSSAccessKeyId=LTAIAJ2WBIdlRPlb&Signature=HkU5boegM1NsoXqa%2BnTOCqe6TFQ%3D

朋友们可以看看

 

推荐开源项目一

项目名:Hutool

项目地址:https://gitee.com/loolly/hutool

项目详细文档指南:http://hutool.mydoc.io/

推荐理由:集成开发常用工具类,减少我们自行编写工具类成本,直接复用现成的即可,利于开发效率的提高。该开源项目广泛应用其诸如其他开源项目,目前我公司就使用该开源项目,就目前而言,当有某些业务需求,需要工具类时,直接参考该文档,直接引用即可。当然了,实际业务充满复杂性和多变性,Hutool并不能满足其特定需求,不过就普遍性原则,还是比较适用的。

 

 

推荐开源项目二

项目名:MyBatis Plus

项目地址:https://gitee.com/baomidou/mybatis-plus

项目架构原理pdf地址:https://gitee.com/baomidou/mybatis-plus/attach_files

项目文档指南:http://mp.baomidou.com/#/

推荐理由:正如开源项目作者所说的那样,MyBatis Plus对于MyBatis只做增强不做改变。简化开发。我们公司的第二个项目和第三个项目就是用它来开发的,就目前而言,生产环境没有因为加入它的缘故出大问题或者小问题。MyBatis Plus上手非常容易,只要用过MyBatis的朋友们,学它分分秒的事。

我的关于MyBatis Plus文章系列地址为:https://www.cnblogs.com/youcong/category/1213059.html

有不少开源项目就用它作为持久层,比如guns,renren-fast

大家可以做参考。

 

推荐开源项目三:

项目名:EasyPoi

项目地址:https://gitee.com/lemur/easypoi

项目详细文档指南:http://www.afterturn.cn/doc/easypoi.html

推荐理由:EasyPoi本质上还是Poi,只不过其将Poi的繁杂进行封装和升级。EasyPoi的使用同样也非常简单,自从用了EasyPoi发现报表相关功能做的是越来越快了。

 

推荐开源项目四:

项目名:t-io

项目地址:https://gitee.com/tywo45/t-io

项目详细文档:https://t-io.org/blog/index.html?p=%2Fblog%2Ftio%2Fintro%2Fintro.html

推荐理由:正如t-io所说的那样,“让大家没有难开发的网络编程”。

 

小结:

虽说复用开源项目以达到开发效率提高的目的,但是我还是要建议朋友们,也包括提醒我自己,在使用开源项目前,能不能“物尽其用”,也就是现在使用的技术能不能实现,以及实现的成本是多少,实现后维护方面又会怎么样,最后就是性能方面等等。而不是一时半想象一番或者随便百度搜搜觉得难,就去码云或者github上找找开源项目拿来直接用(顶多就是简单例子,测试几遍,发现达到预期效果后,就不管了),记得我当初将MyBatis Plus引用到公司项目中就是如此,关于这一点我觉得自己有必要对MyBatis Plus的架构原理十分清楚才行,不然以后随着项目越来越大,根据业务进行拆分,到时万一出个什么问题就不好了。孙子曰;知己知彼,方能百战百胜;知己不知彼,一胜一负;不知彼不知己,每战必殆。对于项目实际应用而言,容不得半点差池。

目录
相关文章
|
开发者
开发者投身开源项目的能够获得什么?
作为开发者,编程不仅是工作和饭碗,也是兴趣爱好的体现。虽然说有一部分是为了生活才选择了编程开发,但是大部分开发者是因为兴趣和爱好才加入编程队伍中的。不知不觉IT互联网行业已经发展了二十多年,基于开源的软件及应用也是有了快速的发展,越来越多的开发者投入到了开源项目的贡献中来,这让开发者和开源项目建立了很好的连接。
384 1
开发者投身开源项目的能够获得什么?
|
消息中间件 Cloud Native 中间件
盘点2022:开源热度居高,技术思考与经验分享是开发者的最爱
阿里巴巴中间件陪伴大家又是一年了,春节即将到来,我们不禁回望,这一年我们留下了什么,又收获了什么。
158 7
业界新标杆!阿里开源自研高并发编程核心笔记(2023最新版)
提到并发编程很多人就会头疼了;首先就是一些基础概念:并发,并行,同步,异步,临界区,阻塞,非阻塞还有各种锁全都砸你脸上,随之而来的就是要保证程序运行时关键数据在多线程中的可见性、核心业务的原子性、多线程通信的有序性。虽然很多人工作可能接触不到这些的东西,但是面试就是得问。假如你跟一个有过高并发编程经验的人一起面试同一个岗位,你就是背了些面试题,而人家是确确实实有真东西的,那后续的录用结果想必就不用我多说了吧~
|
Apache 开发者
成功打造一个开源软件的秘诀在于开源社区
成功打造一个开源软件的秘诀在于开源社区
202 0
|
Cloud Native 安全 Java
「开源人说」第二期重磅上线!一起走进《从开源中来,到开源中去》
你是否思考过开源的意义?是获取免费种子用户?还是技术贡献社会价值? 开源意义千人千面,最重要的是参与进来和分享出去。贯彻开源精神,龙蜥社区从Linux开源而来,CentOS替换出发,捐赠给开放原子这样的第三方中立开源基金会,到开源中去,最后落地千行百业中去产生实际价值。从开源中来,到开源中去,龙蜥社区曾走过一条怎样的开源之路?
181223 11
「开源人说」第二期重磅上线!一起走进《从开源中来,到开源中去》
|
数据可视化 C语言
玉伯:开源有带给我什么
在2021年527蚂蚁技术日上,蚂蚁内源社区举办了内源专场,在专场上玉伯给大家分享了《开源有带给我什么》,以下为演讲的图文整理。
玉伯:开源有带给我什么
|
传感器 人工智能 Oracle
云+社区技术沙龙丨解析腾讯最新开源项目背后的技术栈
云+社区技术沙龙丨解析腾讯最新开源项目背后的技术栈
云+社区技术沙龙丨解析腾讯最新开源项目背后的技术栈
|
Ubuntu Linux 开发者
90 后开源老司机徐亮:从大学开始全职做开源是一种怎样的体验?
  “如果你有正确的态度,有趣的事情自然会找到你。”   Eric S. Raymond 在被奉为“开源运动独立宣言”的《大教堂与集市》一文中,总结了 19 条在开源开发中非常有用的理论,上面是其中一条。开源项目总会在不经意间升级,参与者可能最初只是做一些小打小闹的贡献,后来逐步维护越来越重要、越来越多的代码,甚至是负责整个程序。在一个鼓励代码共享的软件文化中,这是一种很自然的项目演化方式。   徐亮在开源社区的经历也遵循着同样的演化路径。从一开始因为兴趣入圈、负责翻译工作,到后来成为Ubuntu、Debian资深官方开放人员,甚至把开源变成一份全职工作,今年已经是徐亮与开源结缘的第 12
458 0
|
Java Android开发 p3c
提升团队研发效能利器,《阿里巴巴Java开发手册》插件全球首发(附插件下载地址)
2017年9月底,阿里巴巴集团发布了《阿里巴巴Java开发手册》PDF终极版,2017年10月14日,在2017杭州云栖大会上,规约插件全球首发。本文为大家分享规约插件下载地址与使用攻略,敬请取阅。
43277 0
|
运维 数据可视化 Cloud Native
阿里巴巴专家教你如何在家安全高效开发软件
为响应国家号召,各“大厂”纷纷发出在家办公,延迟上班的通知,一时间“在线协同办公”成为热点。不同于大型集团公司,有足够财力和能力构建远程办公系统,中小企业既缺乏足够的预算又缺乏相应的经验。阿里云云效一直致力于成为数字企业的研发效能引擎,在这个特殊时期,我们希望可以将自己的经验和工具分享给中小企业,让他们在家也能安全高效地开发软件。
阿里巴巴专家教你如何在家安全高效开发软件