`
happmaoo
  • 浏览: 4428638 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>

CSDN英雄大会召开前之随想

早春三月,江南大地虽然还是处于春捂时节,但万物复苏的清新感觉还是扑面而来.承蒙各位支持我的好友的投票,我在CSDN的MVB票选中获得了第二名,在即将到来的四月份,我荣幸的受CSDN的邀请参加其组织的英雄会.这是对我去年一年坚持写博的一份肯定和鼓励.

从事开发已经很多年了, 这么多年什么都搞过,从底层开发到分布式框架,各种常用语言,开发方法,什么都尝试过,才发现软件这个行业其实也就这样.

这么多年,对于中小开发者来说,我逐步认识了3件事情:

一.java不是万能的
曾经我们对java语言是那么的期待,作为一种比C++简化了的跨平台的面向对象语言.java似乎也没能承受我们的期待.首先在语言上,java的语法在不过的扩充,扩充的速度远远高于对代码本身效率优化的速度.

在桌面开发领域,Java似乎还不能突破VB,PB,DELPHI的包围,在Web领域,PHP,Ruby等语言也在主机托管等领域对java展开了大围剿.但似乎大家仍然把Java做为一个天生的王道,也许是因为那个带垃圾回收机制的虚拟机和大量免费的组件框架吧, 这个时代,尤其在不用M$的软件公司眼里,不用Java开发的系统也不好意思开个几百万.

但是对于绝大多数面向服务和快速应变的门户网站开发团队,PHP妖娆的身段实在有太大的魅力了.

当然java还抱着一个中间件的稻草。不过似乎在面向消息和ESB的架构中,EJB也很难翻身了。

二.开源不是万能的
从2002年开发,各种开源软件风起云涌.sf.net里面的开源项目数以万计.如果整理一下开源的MVC框架,找到100多个,那还是常见的。我们曾经抱着很大的热情去观察每一个开源软件.结果发现开源软件就像别人的饭一样,并不永远合你胃口。大浪淘沙,dwr + struts2 + spring +hibernate这样的框架最终胜出。(struts2虽然只是GA,但也比较成熟了,因为webwork2本身就很成熟,struts2是对webwork2的一次重购,基本上也就是改改包名字)

三.JCP不是万能的
JCP作为制定标准的组织,似乎从来就没有制定出什么让人真正感到实用的东西.从Portlet到JCR到JDO,似乎就没有什么真正用起来的。

Portlet标准最大的问题是没有定义更好的交互模型,JCR的问题是查询接口达不到SQL的强大。JDO,JPA之类,似乎也看不到什么真正的能够替代Hibernate的地方。


这么多年真正炒作起来的概念:

MVC
MVC成就了Struts,而且简直成了他的代名词,作为一个URL可以明确调用的框架,从目前来看还是远远超越tapestry,jsf这些框架的。当他发现webwork比自己实现的更便捷的操作之后,干脆把ww2跟自己合并起来。

ORM
搞java,你不建领域模型那就是没面子,建了领域模型就必然需要一个工具来填充他,Hibernate的确在这个领域做到了最精

IOC
这个概念纯粹是Martin提起来的,居然还就真的火起来了。不得不佩服这位大师。

IoC的前提就是任何希望被装载的组件都要生存在容器中。结果struts2的action也变成了spring的bean。

AOP
和IOC一样,AOP成就了SpringFramework,使用spring可以精简大量的代码

AJAX
靠着google的大力推广,ajax可谓红透半边天。

这几年没炒起来的概念:

门户
前几年,人人都提门户,政府门户,个人门户,个性化定制。

IT也借着这个概念炒Portal,但在中国我们发现,绝大多数门户其实也就是个内容管理系统或者简单的说一个网站,个性化定制似乎也没什么用处,最多也就是像google桌面一样用ajax订阅一些新闻,加上Portlet标准的不够完善,使得Portal很难获得更大的发展。

工作流

不能说工作流不成功,一个表单定制引擎加上表单流转引擎的确可以解决很多企业应用,但是这么多年,也没有一个工作流引擎能取得像hibernate,spring这些框架在各自领域取得的独领半壁江山的效果。--当时写的太快了,没来急推敲原话,改改句子,免得歧义 :)

据我浅薄的经验,我看过很多政府,单位都上OA,但真正用起来的并不多

对于公文流转类型的:绝大多数单位只是像邮件一样发文章

对于请假,批示的:小企业管理不好的,推广不下去;大企业上SAP的,有能用起来的

对于更加复杂的应用:由于对表单数据的要求比较高,通常都是开发者自己开发一套简易的适合项目的流转引擎,或者整个应用还是基于数据库实现。

目前比较国外普及的开源工作流jbpm,shark等都只适用于一些环境。

其实既然叫“工作流”,显而易见,工作的复杂是千差万别的,那又如何能指望有一个普适的工作流框架呢?如果你设计一个面向呼叫中心使用的工作流,面向单据签收类的工作流,面向发文类的工作流说不定还更可能有效。

规则引擎
应用的不成熟性,导致不能真正流行。

目前正在炒,未来还不确定的概念

ESB
ESB的使用环境是在一个有很多现成的应用,并且它们都提供了集成的接口,这时候如果要开发新的应用,可以使用ESB简化集成的操作。但是目前为止这个前提环境的条件在中国似乎也没有形成。所以ESB是否能火也还是一个未知数。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1534756


分享到:
评论

相关推荐

    代码随想录-大厂八股文-面试

    从部分内容中,我们可以看到包括了多种编程语言,例如C++、Java、Go等,以及操作系统的知识点,例如Linux。这些知识点都是大厂八股文面试中常见的问题,考察者需要能够熟练掌握这些知识点,能够写出高质量的代码。 ...

    代码随想录的pdf版本,需要准备秋招的小伙伴们看过来呀!

    《代码随想录》是一本深受程序员喜爱的书籍,尤其对于即将参加秋季招聘的计算机科学和技术专业的学生们来说,它是提升编程技能和算法能力的重要资源。这本书深入浅出地讲解了编程思维和各种常见算法,旨在帮助读者...

    00.代码随想录-最强八股文-第3版-无密版本.pdf

    * 代码随想录知识星球精华(最强八股文)第三版:这是一个关于编程的知识星球,涵盖了多种编程语言和技术领域,包括C++、Java、Go、数据结构和算法、操作系统、数据库、计算机网络、设计模式、Linux等等。...

    代码随想录知识星球精华(第四版)最强八股文-Java篇

    《代码随想录知识星球精华(第四版)最强八股文-Java篇》是一份针对Java编程语言的深度学习资源,包含超过55MB的丰富内容,旨在为开发者提供全面而深入的Java知识体系。这份资料是Java学习者不可多得的宝藏,尤其...

    软件随想录.pdf

    7. 编程语言:可能会探讨不同编程语言的优缺点,如Java、C++、Python、JavaScript等。 8. 开源社区:开源软件的贡献方式、如何使用和管理开源项目。 9. 软件测试:单元测试、集成测试、系统测试、验收测试等。 10. ...

    代码随想录-最强八股文(第五版)

    《代码随想录-最强八股文(第五版)》是一部综合性的编程知识合集,旨在帮助程序员,尤其是面试者,提升在前端、后端以及Java和Go等领域的技术素养。这一版本的内容涵盖了大量的面试常见问题,是程序员们准备技术...

    Java后端大厂面试八股文

    Java后端大厂面试八股文是一份针对Java程序员求职...总之,Java后端大厂面试八股文是一份全面而深入的面试准备资料,涵盖了从基础到高级的多个技术领域,对于希望进入大厂工作的Java开发者来说,是不可多得的学习资源。

    代码随想录知识星球精华-大厂面试八股文第二版v1.2.pdf

    《代码随想录知识星球精华-大厂面试八股文第二版v1.2.pdf》是一份专注于编程面试的文档资料,涵盖了C++、Java和Go三种主流编程语言的核心知识,旨在帮助求职者准备大厂面试,提升技术能力,从而获得高薪Offer。...

    《代码随想录》LeetCode 刷题攻略:200道经典题目刷题顺序,共60w字的详细图解,视频难点剖析,50余张思维.zip

    LeetCode是一个在线平台,提供了一系列的编程挑战题目,涵盖了多种编程语言,包括但不限于Java、Python、C++等。这些题目主要针对算法和数据结构,对于准备技术面试、提升编程技能非常有帮助。 2. **刷题顺序**: ...

    计算机教育_软件随想录_给计算机专业学子的建议知识.pdf

    尽管现代编程语言如Java、Python等广泛应用,但C语言作为底层语言,能帮助程序员深入理解计算机工作原理。熟悉C语言,可以更好地进行性能优化,理解和开发编译器及操作系统,并在项目架构设计中展现专业素养。对于...

    移动端开发技术 移动客户端开发随想 共55页.pdf

    在移动端开发中,开发者需要考虑多平台兼容性,如Symbian、KJava、Android和iOS等,以确保应用能在各种设备上运行良好。一个典型的例子是微博客户端,其在短时间内进行了多次迭代更新,反映出移动应用快速发展的需求...

    java图书管理系统

    总结来说,"java图书管理系统"是一个基于Java Swing和可能的数据库技术构建的应用,适合初学者学习GUI编程和数据库管理。通过这个项目,你可以了解Swing组件的使用,JDBC API的操作,以及如何设计一个简单的数据库...

    代码随想录最新第三版-最强八股文

    【代码随想录最新第三版-最强八股文】是一份综合性的IT学习资料,包含了程序员面试必备的知识点,尤其适合准备大厂面试的求职者。这份文档详细涵盖了多个编程语言、算法、计算机基础和软件工程领域的重要概念,旨在...

    五子棋 java版

    3. **多线程**:为了确保游戏流畅运行,五子棋程序可能采用了多线程技术。玩家的每一步操作都在一个独立的线程中进行,避免了阻塞主界面更新,提高了用户体验。 4. **棋盘逻辑**:五子棋的核心算法在于检查每步棋...

    程序紫色随想留言簿 v1.0

    在开发此类软件时,开发者可能使用了如HTML、CSS、JavaScript等前端技术构建用户界面,后端则可能用PHP、Python、Java等服务器端语言处理数据交互,数据库可能采用MySQL、SQLite等。此外,为了提高用户体验,可能还...

    代码随想录 Day14 二叉树

    ### 二叉树原理及Java实现详解 #### 一、二叉树简介 二叉树是一种树形数据结构,其中每个节点最多...这些基础概念和技术在计算机科学的多个领域都有着广泛的应用。理解并掌握这些基本概念有助于解决更多复杂的问题。

    代码随想录知识星球精华(第四版)最强八股文-面经篇.rar

    该压缩包中的核心文件“代码随想录知识星球精华(第四版)最强八股文-面经篇.pdf”包含了丰富的IT知识,涵盖了多个关键领域,旨在帮助读者提高面试竞争力,了解并掌握面试中可能遇到的各类技术问题。 1. **数据结构...

    代码随想录知识星球精华(第四版)最强八股文-问答精华篇.rar

    首先,我们可以从“代码随想录”这一名称推测,该书包含了作者在编程实践中的思考和经验总结,可能涵盖了各种编程语言的使用技巧,如Java、Python、C++等。在“最强八股文”的部分,可能涉及到了编程面试中常见的...

Global site tag (gtag.js) - Google Analytics