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

我推荐的这些项目,我自己都在实际开发环境中使用过,目前暂时没有遇到副作用,当然也不排除存在副作用,当然了,就目前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的架构原理十分清楚才行,不然以后随着项目越来越大,根据业务进行拆分,到时万一出个什么问题就不好了。孙子曰;知己知彼,方能百战百胜;知己不知彼,一胜一负;不知彼不知己,每战必殆。对于项目实际应用而言,容不得半点差池。

原文地址:https://www.cnblogs.com/youcong/p/9568493.html

时间: 2024-11-12 21:57:21

开源技术推荐之个人使用心得的相关文章

为什么计算机的学生要学习 Linux 开源技术

by falcon of TinyLab.org 2013/08/25 Linux开源相关技术对于学生来说,特别是计算机专业的学生来说,非常重要,下面就几个方面进行讨论: 研究平台 因为开源的优势,有非常多的开放的文案可以参考,有很多有趣的点子可以拿来做深入的研究.任何一个点挖进去都是一片天地. 专业视野 通过那些开放的项目,你可以通过邮件列表.Linkedin.Google Group接触到来自全球各地的天才,不仅可以提升英文读写能力,认识国际友人,还可以把握领域前沿,甚至还有机会得到大佬们的

【方案】去哪儿网徐磊:如何利用开源技术构建日处理130亿+的实时日志平台?

转自:http://mp.weixin.qq.com/s?__biz=MzIzMzEzODYwOA==&mid=2665284466&idx=1&sn=2b06a529821734e36e26e642424f24fc&scene=2&srcid=0527p3qISp6dFqGg8iLIYgRF&from=timeline&isappinstalled=0#wechat_redirect [本文系互联网技术联盟(ITA1024)原创首发,转载或节选内容

感知开源的力量-APICloud Studio开源技术分享会

2014.9.15 中国领先的"云端一体"移动应用云服务提供商APICloud正式发布 2015.9.15,APICloud上线一周年,迎来第一个生日 这一天,APICloud 举办APICloud Studio开源技术分享会 我们将对APICloud Studio进行技术开源的全面解析, APICloud Studio遵循Aptana3.0 GPL开源协议,源代码以无条件继承GPL开源协议的方式贡献给业界. 我们相信,通过开源技术分享,我们将和广大开发者一起,不断扩展主流HTML开发

SAPUI5使用了哪些开源技术

我们知道SAP UI5已经开源了,共享给了Apache开源组织后的名字叫Open UI5,虽然从API的长度上看,Open UI5比SAP UI5要短,但是两者的核心并没有多大区别,SAP UI5多了一些SAP产品所用到的控件,而开源时这部分也就没有必要提交了,当然,SAP UI5也用到了一些开源技术: jquery:这个就不用多介绍了 css3:网页样式表css OData:内置OData数据显示控件.OData请求处理能力 LESS:Less 是一门 CSS 预处理语言,它扩充了 CSS 语

开源技术如何帮助用户完成业务转型

如今中国已进入"互联网+"时代,如何才能更好地利用开源技术已成为企业考虑的核心,而企业应用平台和开源技术的结合需要依托可靠性更高.安全性更强以及可用性更高的技术和产品,这是企业和用户所需要考虑的问题,IBM依托大型主机并基于开源的技术,将企业级计算能力和开源技术两者的优势充分地结合.应用,这对于用户来说是一个很好的选择. IBM的LinuxONE就是这么一款产品,它专门为开源平台和混合云而设计,具备高安全性.高可靠性.高可扩展性.高一致性以及开放性等领先特性,可以为企业关键业务的Lin

谈谈开源技术选型

有时感觉技术选型就像个伪命题,胜出的技术占据绝对的主流,就像 java 领域中 ejb 被 ssh/ssi 框架取代. 大部分项目使用近似的模式搭建,选型在工程中变得似乎可有可无. 时间上胜出的开源技术帮助开发者在客观上做出了选择,我们先了解下影响选型的客观因素. 客观因素 客观因素包括如下: 1. 广泛性 我们都倾向于选择更广泛应用的开源技术以规避未知性风险. 2. 质量 质量我们会参照广泛性作一个侧面证明,使用更广泛可能质量更有保障,不过这对开源技术的新生儿就显得有些不公平了. 3. 文档

“云中论道”之——使用开源技术和Azure公有云服务快速搭建云端IoT解决方案(上)

"云中论道"技术课堂第一课开讲啦!微软各路技术咖们齐聚一堂,为大家带来干货不断!作为"云中论道"课堂的开课之作,我们首先邀请到了微软Azure专家级的架构师:槐长清,他为我们带来了关于"使用开源技术和Azure公有云服务快速搭建云端IoT解决方案"的精心讲解. 本文作者介绍: 微软Azure专家级架构师,江湖人称"槐长清",曾连续5年被评为微软最有价值专家,多年云计算从业经验,对微软公有云解决方案有深入研究. 涉及产品及技术:

基于开源技术的上网行为管理方案实现案例

基于开源技术的上网行为管理方案实现案例 互联网已经成为人们工作.生活过程不可或缺的工具.在企业普遍存在着电脑和互联网络滥用的严重问题,网购.各种直播.电影.P2P工具下载等与工作无关的行为占用了有限的带宽,影响了工作,作为企业如何监管?购买商业软件?我看,未必适合你的公司. 选择开源工具怎么样?下面我为大家介绍两款开源工具及案例.用以实现用户上网内容审计和行为监控.这些技术的基础基于嗅探技术,所以大家在浏览下文时,一定要对网络嗅探技术有深刻理解. 1.开源工具Xplico Xplico工作原理是

iOS开发笔记--43个在GitHub上的优秀Swift开源项目推荐

43个在GitHub上的优秀Swift开源项目推荐 原文:http://www.php100.com/html/it/biancheng/2015/0112/8329.html [导读] 拥有着苹果先天生态优势的Swift自发布以来,各种优秀的开源项目便层出不穷.本文作者站在个人的角度,将2014年Swift开源项目做了一个甄别.筛选,从工具.存储.网络.界面.框架到Demo以及完整应用等,满满的干 拥有着苹果先天生态优势的Swift自发布以来,各种优秀的开源项目便层出不穷.本文作者站在个人的角