谁将成为下一个开发平台?
fmms 13年前
<p> IT 界发展首先是 PC,之后是 Web,现在是移动应用。每个开发者可能更关心下一波浪潮中,哪种技术又会出现呢?他们应该投注于哪个平台呢?Shawn Wildermuth 专门针对此问题发表了一篇文章《<a href="/misc/goto?guid=4958196839725913866">Which Platform is Next? All of Them…</a>》,下面是该文的译文。</p> <p> 这几年,各种不同的技术盛行:iPhone、Android、iPad 和 HTML5 等等。对于某些组织,种类繁多的技术让他们心生畏惧,更不用说专门从事该行的开发者和测试者了。你已经在某特定的平台上工作了几个月,甚至几年,并已对它很擅长了。现在兴起了这么多新技术,要求你不断去学习新事物。</p> <p> 这可能很可怕……当然,除非你很喜欢这些新技术。</p> <p> <strong>“变化”是永恒不变的</strong></p> <p> 我进入该行业,并不断学习着。小时候,我就热衷于新的软件,想看看它可以帮助我完成什么事情。我十分期盼能获得一本我很崇拜的计算机杂志,这样我就可学习另一种 Basic 程序,并看看这些新程序是如何工作的。</p> <p> 直到了今天,我仍把新技术视为挑战。我努力使自己不陷入“四眼天鸡”的想法中。对于我来说,这些挑战正是我们要成为程序员的原因。让我们看一个过去的例子。</p> <p> 回到2000年,微软举办了一个小型的专业开发者大会(PDC),并在会上发布了:.NET。当时有大量的开发者在使用微软技术,当然不全是 C++ 和 Visual Basic 开发者。</p> <p> .NET 神秘面纱的揭开,引起了开发者两种不同的反应:一种是对新平台的兴奋,一种则是对它的恐惧。一些已为他们的技术倾尽心力的开发者拒绝改变。甚至有很多人写信希望微软可以继续投资 Visual Basic,而不是 Visual Basic .NET。</p> <p> <strong>谁会成为下一场技术革命?</strong></p> <p> 尽管如些,向 .NET 的迁移并不能算是一场革命。Windows 开发者仍在继续使用 Windows;他们的操作系统知识仍在继续发挥作用。</p> <p> 但近几年来,出现了很多变革性的新技术。IT 行业中的一些人很想知道他们到底应该在哪种技术上下堵注。问题就在于这些技术仅仅是:变革性。如果你能好好规划它们,他们就不再具有变革性了。那么你应该做什么?什么也不要做。</p> <p> 你并不能为“变革”做规划,但你可以提前为此做准备。提前为某个组织做准备意味着可以有更广阔的人脉和技巧,这样一旦有变革发生,你可以有人依靠。当变革发生时,你到底需要学习什么呢?</p> <p> 事实上25年以来开发的变化并不大。我很频繁的变换开发语言,这令人敬佩的“if”和“While”语句仍然还在。所以学习一门新语言并不难。每一门语言都有它的特色,但它们彼此之间拥有更多的是共性。</p> <p> 发生改变的是平台。组织通常能够选择一个平台。即便这个平台发生了一些改变,大部分共享的知识还是相同的。例如由 Windows 窗体转变成 ASP.NET,需要付出很多努力,但是 .NET Framework 和语言仍然是相同的。这就是所谓的变化。</p> <p> 事情往往是这样的,你能够开发一个产品,并对其很满意。它可能是一个桌面应用程序,或者一个 Web 应用,也或者是一个移动应用。但这些应用之间的区别正变得模糊。今天,如果你正为普通用户开发一款产品(未必一定是为企业家),你一定要使它可以处处访问。构建一个典型的用户服务需要构建以下几项事情:</p> <p> ● 一个伟大的网站;</p> <p> ● 一个伟大的 Web API;</p> <p> ● 一个伟大的移动应用;</p> <p> ● 一个伟大的平板电脑应用。</p> <p> 虽然这个列表很短,要想获得大部分有潜力的客户,你需要使用各种不同的技术。举个例子,假设你要构建一个商店。你需要使用 ASP.NET 去搭建网站(当然也会用到 HTML 和 JavaScript);为了构建 API,你需要知道 REST,可能还需要数据库技术;为了搭建移动应用,你需要掌握 Objective-C、Java,可能还有 Silverlight。真是有好多技术需要掌握。</p> <p> 你可能会发牢骚说我没有提到桥接技术,像 MonoTouch、MonoDroid 和 PhoneGap。这些技术可以很好的帮助开发。但正如上文中提到的,真正要学习的是平台(如:iOS、Android 和 Windows Phone),以及如何开发出用户所期望的伟大应用。这些中间工具可以从中起到很好的辅助作用,但他们并不能让你省去学习平台,他们只会让你省去再学一门新语言。</p> <p> <strong>开发者要做什么呢?</strong></p> <p> 真正的力量是放弃任何概念,振作起来面对改变。你能够适应你当前正处于的环境,这是最关键的。换句话说,接受变化总会发生这个实事,你要不停地学习新的技术。对于大部分组织,拥有一批聪明、积极的开发者比拥有一批特殊技能的开发者更重要。因为这些开发者可以适应新的环境。你所下堵注的技术不会永远存活,但要意识到一个新的平台可能是帮助你适应环境的一系列平台的组合。适应是任何组织生存的关键。</p> <p> 当然,你可以继续使用 FORTRAN、RPG,或者 COBOL,但这样会让该组织陷入技术的沼泽中,而无法做它擅长做的事:增强商务。 </p> <p> 原文链接: <a href="/misc/goto?guid=4958196839725913866">Which Platform is Next? All of Them…</a></p> <div id="come_from"> 来自: <a id="link_source2" href="/misc/goto?guid=4958196841138636383" target="_blank">CSDN</a> </div>