dotnetnuke module ajaxdictionary SOwens Technologies > Modules > AJAX Dictionary Overview:… Read More
An Atlas behavior to handle text changes Atlas notes : An Atlas behavior to handle text changes: user on the ASP.NET Forums (dleffel, in this thread) has an interesting requirement. Basically, he wants a ‘changed’ event to be fired when the text in an input field changes, but only after the user has paused/stopped typing for a certain amount of time. To… Read More
中国語検索時にミス 自家製の辞典で中国語検索時にミスがありまして、調べた結果は: パラメータオブジェクトのデータ型をAnsiStringに指定しています。 これをStringに変更したら、OKです。 よかった!!!… Read More
Populating a DropDownList using AJAX and ASP.NET Populating a DropDownList using AJAX and ASP.NET: ASPAlliance:… Read More
【电脑】微软是如何输掉API之战 【电脑】微软是如何输掉API之战(上) 前几天无意间看到这么篇猛文,很久没有看过这么长的英文文章了,觉得,很有必要将其翻译成为中文,让国内的程序员也来瞅瞅。 这边只是前半部分而已,后半部分还在翻译中。 原文网址:http://www.joelonsoftware.com/articles/APIWar.html 微软是如何输掉API之战(下) 是的,这篇翻译是下篇,上篇是在: http://www.blogwind.com/Wuvist/6984.shtml 我在2005年2月13日翻译的。如果你没有看过上篇,也没有看过原文(http://www.joelonsoftware.com/articles/APIWar.html),请先看上篇。而且建议去看原文,因为,我在翻译的时候去掉了一些附带说明与链接。 原文作者:Joel Spolsky Sunday, June 13, 2004 一统天下的运行时 .Net降临了。这是一个浩大的工程;一个企图彻底根除所有混乱局面的工程。它自然有内存管理。它不仅有Visual Basic,还有一门新的语言。这语言继承了Visual Basic的精神,但却有着C风格的语法-大括号跟引号。最妙的是这门糅合了VB跟C的新语言叫C#,也就是说你再也不用跟别人说你是一个“Basic”基本程序员了。那些恐怖的拖泥带水的Window函数、钩子、向后兼容的Bug还有无从解释的字符串返回语法都被扫除了;取而代之的是一个崭新只有一种字符串并面向对象的接口。一统天下的运行时。这很美,在技术得赞下微软。.Net是一个超赞的程序开发环境,它可以帮你管理内存,拥有丰富、完整并统一的操作系统接口;而且还有丰富、超级完整还很优雅供基本操作的对象库。 但是,程序员不用.Net做太多开发。 当然,也有用.Net的人。 但,使用一个全新彻底革新的程序开发环境来统一VB跟Windows API开 发并存造成的混乱是愚蠢的。现在,我们不是有一种或者是两种开发语言,而是有三种开发语言(还是四种?)!就跟对两个在吵架的小孩大喊:“你们都别吵 了!”一样愚蠢。在电视里面,这样子大喊也许会有效;但在现实生活中这样搞法的必然结果就是你跟两个小孩三个人一起吵得更加大声。 (顺便说一下,那些有关注神秘但被政治所改变的网志聚合格式世界的朋友,你们可以发现同样的事情也发生了。RSS被分裂成为了几个版本-不准确的规则跟一堆政治性质的斗争。而企图解决这一切的做法竟然是定义一个新的叫ATOM的聚合格式。结果便是不同版本的RSS现在多了一个ATOM来搅局-不准确的规则跟一堆政治性质的斗争。当你企图引入第三方来解决对立的两方时,结果便是三足鼎立。你什么也没有统一而且你也没有解决任何事情。) 所以,.Net现在并没有统一并简化世界,我们现在反倒陷入了更大的混乱。所有的人都在犹豫他们的开发策略,究竟有没有足够能力把现有程序转到.Net上呢? 无论微软的市场信息是多么的统一(“用.Net吧!相信我们!”),它的大部分用户还是在使用C,C++,VB 6.0跟传统的ASP做开发。更不用说其它公司提供的开发工具了。然后,仅剩的使用.Net做开发的公司做的是ASP.Net!ASP.Net需要跑在Windows服务器上,但,它需要一个Windows做客户端。这就是我谈到Web时要强调的重点。 哦,等一下,还有其它的东西! 现在微软有了太多的开发人员搞得它重新发明一次整套Windows API还觉得不够爽,它竟然重新发明了两次!在去年(应该是03年,Wuvist注。)的PDC上,微软宣布了它们的下一代操作系统,代号长角。长角不仅有上述的东西,还有一套全新的用户界面API,代号Avalon。Avalon再次把一起推倒从来以利用现在电脑高速的显卡跟实时三维渲染的优势。所以,如果你现在正在开发Windows界面程序,并且使用了微软现在“官方”宣称的最先进的开发环境:WinForms;那么两年后你得重新开始以支持长角跟Avalon。这解释了为什么WinForms在诞生之时便死翘翘了。但愿你还没有在WinForms上投入太多。Jon Udell从微软那找到了一个题为:“我如何在Windows Forms与Avalon间做选择?”的幻灯片,并且问了这么个问题。这是个好问题,并且没有人可以很好的回答它。 所以,我们有了Windows API,有VB,现在还有了带若干种不同语言供选择的.Net;但,我们不能在这些环境下浸淫太久。因为,微软正在开发Avalon呢!注意到没?Avalon可只能在微软最新的操作系统上跑,但是,它得等很久很久以后才能开跑。对我个人来说,我没有时间很深入的学习.Net,并且,我们也没有把Fog Creek的两个应用程序从传统的ASP跟VB 6.0转到.Net上。因为投入做这么件事情对我们没有回馈。一点都没有。在我关心的范围里,它纯粹是一件“开火并动作”的事情:微软会爱死我们停止给Bug跟踪软件跟CMS开发新的功能,并浪费几个月的时间转移到新的开发环境里。这无法使我的任何一个客户获利,也没法让我多卖一套软件。但这对微软来说很妙,因为微软也有它自己的CMS跟Bug跟踪软件。对微软来说,再也没有比使我为追时髦而浪费时间重新绕着.Net转,并且一两年后在为Avalon浪费一次时间的事情让它感到更的爽了。在我忙着转的时候,它却在给它的软件加新功能,懂了没? 没有一个有日常工作的程序员可以有时间可以去追赶所有从雷德蒙出来的新开发工具。因为,微软有太多该死的员工在研发新的开发工具! 现在不是1990年 微软是在八十年代成长起来的,那正式个人电脑高速发展的年代:新出厂的电脑比现有的还多。这意味着如果你的产品只能够在新电脑上跑的话,过不了一两年它也可以占领市场,既便没有人刻意“转用”你的产品。这是Word跟Excel能如此彻底取代WordPerct跟Lotus的原因之一。微软只需要等待下一波硬件升级的浪潮,然后把Windows,Word跟Excel一块卖给企业用户(有些企业还是第一次买电脑)。所以,从很多方面来说,微软从来没有学习如何促使用户从产品的N版升级到N+1版 的必要。当用户买了新电脑,他们会很高兴在新电脑上使用微软的各种最新产品,经管他们不太可能纯粹的做软件升级。这也无所谓,个人电脑市场当时在疯狂的增 长。但是,现在的世界,个人电脑市场已经饱和了,并且现有的电脑都跑得不错。谢谢,微软突然意识到它花长时间等待最新的产品进入市场了。当它企图“终结”Windows 98的时候,现实是有太多的人还在使用着Windows 98,而微软得打破自己的诺言,无奈的继续给这老爷系统做多几年支持。 不幸的是,当所有人都用着98年产的电脑用得很开心的时候,像.Net、长角跟Avalon这些美丽的新技术锁定用户的企图便变得不容易实现了。即使长角真的在2006年如此发布(我此刻其实也并不相信这点),它也得花上几年的时间以获得足够的人认同它是新的开发平台。开发者,开发者,开发者跟开发者在开发软件的时候,并不卖微软那“人格分裂”开发建议的帐。 走进网络 我不能理解我说了这么多却没有提到网络。所有的开发者机会做新软件的时候都有一个选择:做网站或者做“胖客户端”在PC上跑的软件。两者的利弊很简单:网站更加容易配置(deploy),而胖客户端软件则能提供更快的反应时间以提供更有趣的用户界面。 网站更容易配置,因为它不需要安装。对用户来说,“安装”一个网络应用程序等于在浏览器地址栏里输入一个网址。我今天刚装了Google的新Email程序:按Alt+D,输入gmail,再按Ctrl+Enter。 网络应用程序有着相当少的兼容性问题或者跟其它软件冲突的机会。所有使用你产品的用户都使用着你最新的版本,你不必为各种旧版本提供支持。你可以使用任何 你喜欢的开发环境,只要你能够让程序在你自己的服务器上跑就好。你的程序实质上也能自动为所有地球上的电脑服务。而且,你用户的数据在实质上也能自动供地 球上所有的电脑使用。 但,这些需要牺牲流畅的用户界面做代价。这边有一些网站无法做得很好的事情的例子: 1.建立快速画图的程序 2.实时带红色下划线的拼写检查 3.警告用户说他们点浏览器的关闭按钮时会丢失手头的资料… Read More
Edit Marks Visual Studio 2005 provides you with a visual indication of what has changed during the editing session. It sets apart the changes you have made that have not yet been saved and changes you have made that have been saved, during the current session. Edit and Continue feature allows you to make changes to your… Read More
Code Snippets Code snippets technology exists for a single reason—developer productivity. One of the new features found in Microsoft Visual Studio 2005 is the ability to insert code examples, or snippets. Code snippet is the name used in Visual Basic, but in Visual C# and other languages, it is known as code expansion. These snippets increase your… Read More
Visual C# IDE Refactoring Tools The C# IDE includes a suite of tools that automate many common code refactoring tasks. Refactoring is a formal and mechanical process, used to modify existing code in such a way that it is improved while preserving the program’s intended functionality. In addition to improving a program’s overall design, the refactoring process tends to yield… Read More
Visual Basic Productivity Enhancements One of the new features in Visual Basic 2005, called My, provides access to commonly used functionality provided by the .NET Framework. The top-level members of My are exposed as objects. The three central objects that provide access to information and commonly used functionality are My.Application object, My.Computer object, and My.User object. You can use… Read More