引自:http://www.blogjava.net/OneEyeWolf/archive/2008/07/09/213765.html
面对不断变化的IT技术,如何能够既要保证从容有度,与时俱进?又要避免狗熊掰棒子,浪费精力,让我们一无所获,两头挨巴掌?
用户需要有成熟、稳定、可用的软件,不会太care你的技术。
这个最低的要求,我们也很难满足。
Web2.0的风潮来了好长的时间,却对于开发企业软件的开发人员来说,似乎无动于衷,最多知道几个名词,掌握一点ajax的技术。
一些人极力将企业软件和互联网应用划清界限,我们设计企业软件是..?
仍然是单板的导航设计,
仍然是点击N次,靠着厚厚的用户说明手册指引,才看到自己最关心的内容,最后发出感叹,我操!原来还有这么个功能!。
仍然是蹩脚的alert。
仍然是粗鄙不堪的操作界面。
用户用的不爽的时候,仍然是沿用者老套、低效的反馈机制。
我们测试时,光功能性的bug, 都迎接不暇,别说有针对性的可用性测试。
但是我们的技术的确在像走马灯一样变化,struts1, struts2, freemarker, hibernate, ibatis, ejb2, spring, seam, ejb3, ESB.
那我们自问,学习技术的目的是做什么?
1)有一个好的就业机会
2)Productivity 。
3)用户体验
4)其他
注意这是个排序,用户? who cares!
第一个,很正常,现在招个爱学习的开发人员,很不容易,应该鼓励。但方向要正确,浪费时间比浪费money更要命。
重点说一下第二个。
不管技术新不新,我们从未知到已知,是一个学习曲线,有高有低,如果是团队的群体行为,有的人掌握的好,有的人差。不管怎样,第一次,总是痛并快乐着。有是代价会很高,我们需要做衡量值不值。
我经历过delphi的VCL,OWL, VC的MFC, AWL,到BS时代的MVC框架,struts1到2,spring, hibernate,ibatis。
我的观点是,技术上注重积累,成熟的技术和不断积累的知识、资源,庞大的用户群和强大的开发社区,才是提高productivity的根源。
只有能够从开发思想的层面上改变的技术,才值得去学习。
我观察到,有两个C(continuous和contribution)机制的技术框架、平台、应用,总是能够在短时间内,超越其他同类竞争,爆发出很大的能量,同时潜力也不可低估。
举几个例子:
1)首推PHP中的word press, 几年了,数不清的plug-ins,其之所以紧跟潮流,就在于不断有新的开发社区contribute的blug-in产生。每个产品经理,都应当把word press作为一个现象来研究。类似想wordpress学习的商业软件产品公司有,Sugar CRM, Salesforce等,都是靠社区生存的。
2)eclipse. 同样是基于plug-in的平台,有多少开源的、商业的组织、团队、商业公司在contribute,围着它打转转.
3) spring, container的概念,可以包容、聚合很多的开发资源、技术。有人仅仅应为XML configuration的一点不爽,就把google的guice 推上了天,做人,做技术,格局都要大,不能只看一点。用过spring的人,恐怕很少有人能代表团队说,俺们不准备在下一个版本、项目、产品中试用了。
4)jquery, 这个用了好久,谁用谁知道!不算官方的,光社区提供的好用的plug in,就有几百个,当然这个不是jquery最主要的优点,但是contribution的威力,不容小视。
所以技术,还在于我们去孵化、成熟后,持续improve才能爆发出威力,如果我们不断的change,其实得不偿失,如果你是一心想做一个好的产品、项目,你会发现,有时换技术,就像足球换教练,解决不了问题,意识跟不上,换什么都不行。
同类的change,要慎重,如struts2 到 spring的MVC ,prototype 变到 jquery, struts2 到seam.
现在有人说seam适合企业级开发,这个很片面,如果你在struts2上没有积累,换什么都没有积累,如果你很成熟,换到seam的代价会比较大。特别是前端技术,因为seam扼杀了前端, 回避前端是错误的,及其错误的,普元那些害人不浅的构件开发,已经证明了世上没有永动机。
这是个方向的问题,技术的重心会从server端移到client, 用户体验的时代已经来了,很多公司对前端开发非常重视,美工将被边缘化,很多的项目已经不要美工了,会CSS、DHTML、javascript的前端工程师,很吃香,而seam恰恰扼杀了前端,大便一样的tag, 并不会提高什么效率,当需求变化时,冲击到界面的设计时,你会很痛苦。我们不仅要考虑到第一次很爽,更要想到应对变化是所需要的灵活。
JSF整个就是一个魔鬼,你有时间学习他们, 为什么不去学习更容易、更灵活的前端的技术?你会发现,自己的思路会更开阔。很多的东西,根本不用server来实现,或者和server灵活结合,就可以达到以前要大量开发的东东,例如Jquery的基于behaviour与structure分离的技术,让页面很简洁,很容易看清页面的结构。
我的策略是,技术是基础,积累才能提高,用户是目的。成熟的架构+创新的扩展,server端,团队应当继续构建、成熟以spring为基础的企业应用开发平台,深度挖掘、孵化、封装,同时将精力转向客户端。努力实现客户端与server端的粘合剂开发提高开发效率,建议的平台是spring + jquery.
顺比说一下,silverlight2.0 出来了,Actionscript3.0也出来了,现在RIA技术争论的焦点是flex vs silverlight. 习惯与写java累的程序员,已经落后太多了,赶快去了解一下更广阔的天空吧。
分享到:
相关推荐
- 微服务:微服务架构促进了敏捷开发和部署,增强了系统的可扩展性和可靠性。 - 安全性:随着威胁的增加,安全已成为IT架构不可或缺的一部分,需要从设计阶段就予以考虑。 5. IT对企业的影响 IT不仅改变着企业的...
1. **服务化架构的引入**:陌陌在2011年底开始探索服务化架构,将业务拆分为多个独立的服务,以提高系统的可扩展性和维护性。这标志着企业对敏捷开发和快速响应业务需求的重视。 2. **自主研发**:陌陌选择自主研发...
学术论文则深入探讨了系统设计的理论依据、技术挑战及解决方案,展现了项目的学术价值和创新性。 需求背景数据库设计详细描述了系统所需处理的数据结构、关系及约束条件,为数据库的开发与维护提供了坚实的基础。...
"软硬件融合:超大规模云计算架构创新之路" 本文概述了超大规模云计算架构的重要性和软硬件融合技术在其中的关键作用。云计算作为一种新型的计算模式,已经渗透到社会的各个领域,具有弹性扩展、按需使用、资源共享...
《架构即未来:现代企业可扩展的Web架构流程和组织》是关于构建高效、可扩展Web系统的权威指南,尤其在互联网技术日新月异的今天,对于企业的数字化转型至关重要。这本书的第二版深入探讨了如何设计和实施适应未来...
### 创新的服务基础架构(BEA架构) #### 概述 创新的服务基础架构,即BEA架构,是一种旨在简化企业IT系统并提高其灵活性的新一代架构方案。它通过提供一个独立于具体技术实现的抽象层,使得IT系统能够更好地与...
"蓝桥杯嵌入式+扩展板资料代码"这一主题主要涵盖了嵌入式系统和相关扩展板的知识,以及与蓝桥杯竞赛相关的实践资源。蓝桥杯是一项专注于培养和选拔IT创新人才的全国性赛事,其中嵌入式部分是重要的比赛领域之一。在...
此外,企业级风控、组织与人力价值的核算,以及对未来的洞察和战略视野的培养,都是架构创新的重要组成部分。 最后,付晓岩强调,架构方法论的创新不仅仅是理论层面的探讨,更需要在实践中不断迭代和完善,实现...
让我们一同回顾那些年的创新思维,从中汲取灵感,提升我们对现代平台架构的理解。 首先,我们要理解“可扩展性”在架构设计中的重要性。在互联网快速发展的时代,业务需求的增长往往超乎预期,因此,一个优秀的架构...
RISC-V架构是一种开放源代码的指令集架构(ISA),旨在提供高效、简洁的计算平台。随着密码学在信息安全中的重要性日益增加,RISC-V引入了K扩展,专门用于加速密码学算法的执行。K扩展是RISC-V Cryptographic ...
在信息技术飞速发展的今天,架构设计与...通过这些PPT,我们可以更加清晰地认识到,作为架构师,不仅要有扎实的专业知识和丰富的实践经验,还需要持续关注行业趋势,学习新知,以不断创新,适应不断变化的市场需求。
以下是关于SOA基础架构和项目扩展的一些关键知识点: 1. **SOA风头正盛**:随着技术的发展,SOA的采用率持续增长,企业越来越多地选择SOA来实现业务流程的自动化和系统的互操作性。 2. **SOA采用阶段与最佳实践**...
在这个快速发展的领域,创新不断推动着信息化基础架构的发展,使其更高效、安全且灵活。以下是对"信息化基础架构逐步创新讲义"的详细解析: 一、信息化基础架构的构成 1. 硬件:包括服务器、工作站、存储设备、...
总的来说,分布式数据库架构创新的目标是提供高性能、高可用性和可扩展性的数据库解决方案,以满足云时代不断增长的业务需求。通过技术创新,如NewSQL、HTAP、计算存储分离和优化的查询处理,分布式数据库正在重新...
该架构创新性地将多个包分类整合到一个分类器中,减少了处理过程中产生的额外开销,从而提升了处理速度。实验结果显示,相比于传统的软件架构,BV Filter在处理6个包分类任务时,所需时间仅比处理1个任务多出13%,而...
互联网视频技术架构的优化与创新对于提供高质量、低延迟、高并发的在线视频服务至关重要。2017年的ArchSummit全球架构师峰会上,专家们深入探讨了这一主题,通过分析“互联网视频技术架构:优化和创新”这个议题,...
本文主要围绕基于OAM(Open Application Model)应用模型的可扩展PaaS平台架构展开,探讨如何通过技术创新应对云原生时代的挑战。 OAM(Open Application Model)是一种新的应用建模方法,它的核心理念是关注点分离...