躺在沙灘上的小豬

          快樂的每一天

          #

          [ZT]What's Wrong With Ajax?

          http://www.aventureforth.com/2005/09/21/whats-wrong-with-ajax/

          Interest in Ajax continues to increase, which is somewhat surprising considering that its constituent components have been around for 5+ years. In fact, Microsoft was one of the earliest to adopt Ajax (they used XMLHTTP in an earlier version of Outlook Web Access). Google, however, popularized the development technique by launching Maps, Gmail, and Suggest (hopefully, Microsoft has a big budget for extra chairs).

          I’ve been captivated by Ajax, too. When well-implemented, Ajax-powered applications are undeniably impressive (see here); they seem to run fast, they look good, and no plug-ins are required.

          However, there are at least three noteworthy problems with the use of Ajax in web application development.

          First, Ajax introduces potential user interface issues. In particular, poorly designed Ajax applications work in ways that aren’t intuitive for the average user. For example:

          • The back, stop, and refresh buttons don’t always work.
          • Since Ajax applications generate pages dynamically, there generally aren’t static links available for bookmarking or sharing with others.
          • Pages don’t always print well.
          • Applications don’t run offline.
          • Clicks and actions generally don’t get included into a browser’s history table.

          For more detail, see Adam and Alex Bosworth’s posts here and here. In any case, well-written Ajax applications minimize UI problems by providing meaningful visual feedback to users. Also, it’s worth noting that there are emerging solutions (often crude) to some of the above problems.

          Second, Ajax requires JavaScript and, for Microsoft’s Internet Explorer, ActiveX must be enabled (though there is a workaround). I think this is a manageable issue as most browsers are sufficiently up to date–though some companies and individuals have disabled JavaScript or ActiveX by default for security or privacy related reasons (see here and here). The key is to design applications to degrade gracefully (which is a fancy way of saying that web pages should work for new and old browsers, even if the old browsers don’t support certain new capabilities). Interestingly, Google fails in this regard. Try running Google Maps with JavaScript disabled. It won’t work (they could have produced a Flash-version like this one here–in some ways, it’s better than the original).

          Third, Ajax developers need to be especially mindful of perceived application performance. The goal, obviously, is to make applications seem fast. One way to make that happen is to preload data as an application starts; then, when a user clicks, there can be an instant response. However, it’s sometimes impossible to preload an entire dataset (think about the vast amount of data in Google Maps), so developers need to make smart design decisions about what data users will most likely want. A related issue is network latency, or the time between a user’s click and the system’s eventual response. If the wrong data was preloaded, there should be a visual cue indicating that the user may have to wait until the right data is collected from wherever it is stored.

          Of course, some of these problems aren’t unique to Ajax-enabled applications. However, that doesn’t mean the issues aren’t real. Where some see problems, though, others see opportunity. For example, there is a market for new development platforms for quickly and cost-effectively writing, debugging, and managing complex, enterprise-scale applications. Also, there is a need for better browser standards, so that applications work consistently across different platforms.

          My sense is that we’re just seeing the tip of the iceberg when it comes to browser-based applications–there are many more on the way, and we’ll be increasingly amazed with what can be done. To that point, we’ve recently invested in a very intriguing company in this area. I’ll blog about them when I can. Also, I’m always interested in learning about new startups, so email me if you have ideas.


          http://www.ajaxian.com/archives/2005/09/whats_wrong_wit.html

          Dan Grossman, the VC that brought us Top 10 Ajax Apps, has now told us what is wrong with Ajax.

          He has brought out the old chestnuts:

          First Problem: User Interface Issues

          • The back, stop, and refresh buttons don't always work.
          • Since Ajax applications generate pages dynamically, there generally aren't static links available for bookmarking or sharing with others.
          • Pages don't always print well.
          • Applications don't run offline.
          • Clicks and actions generally don't get included into a browser's history table.

          We need to be aware of issues like this, but we have fixes for many of these already, and more are coming.

          Second Problem: Ajax requiring JavaScript and ActiveX on IE

          Sure, sure. Is that such a huge issue these days? And IE 7 will have native support for XHR at least.

          If we keep coming up with quality Ajax applications, then that will be the reason to have JavaScript turned on!

          Third Problem: perceived application performance

          It is easy to make something slow, or seem slow. However, you only need to play with Yahoo! Mail beta to see how a fully functional app runs like a charm. So, we can do it, and it will only get better for us!

          There are definitely issues, and there are MANY things that we all wish we had. But, none of these should scare us.

          It is interesting to read Desktop Ajax as Desktop.com Returned where Paul says:

          What I really want from Ajax apps is for them to do stuff that it's too hard to do with binary apps. I want them to be sensibly integrated with online resources; I want them to support realtime collaboration. I want them to do different stuff from Word/Excel/Powerpoint, not just do the same thing with a different engine under the hood.

          We need to find our way with Ajax applications. Let's not just port over to the web way, with a poorer version due to the limitations. Rather we need to embrace the differences and do as Paul says. Do things that suit the web better.

          posted @ 2005-09-29 09:38 martin xus| 編輯 收藏

          其實我們可以多做一點!


          放到blogjava首頁上,只是希望有更多的朋友加入,就算我們沒有書,我們至少可以宣傳,我們可以多做一點!

          -------------------------------------
          微笑圖書室 

               ----授人以魚,不如授人以漁    
          http://www.smilinglibrary.org/sl_index.asp

           
                                   

          書是讓孩子們看到外面世界的窗口,好的書籍,往往能夠影響一個人的一生。可是當貧困地區的孩子辛苦獲得讀書機會的時候,卻往往除了課本無書可讀。如果能夠通過寄送書籍的方式,讓這些孩子們看到更廣闊的世界,讓心靈不為現實的貧困所縛......

          書籍是伴隨我們走過這樣那樣歲月的益友,時光荏苒,總有許多舊書積存。相信每一位愛書人都會希望自己的圖書能在一雙又一雙求知的眼底傳播力量,而不是在箱底蒙塵......

          請將手中的舊書拿出來,寄出一本書籍,傳遞一份微笑,收獲一分希望,參與到微笑行動中來。

          我們自己手中的圖書有限,但我們相信社會動員的能量。

          我們很渺小,但我們深信聚沙成塔的力量。朋友,讓我們一起努力!

          posted @ 2005-09-28 18:42 martin xus| 編輯 收藏

          Quick start with freemarker and sitemesh.

          準備在項目中采用sitemesh+freemarker,寫篇學習筆記。
          稍后整理完了放上來。

          posted @ 2005-09-28 17:38 martin xus| 編輯 收藏

          更換模板

          喜歡小豬,喜歡這個模板,唯一缺憾的是以前寫的代碼被排版亂了,沒辦法了,以后寫代碼遷就點它了:)

          難道你不喜歡莫

          posted @ 2005-09-28 17:04 martin xus| 編輯 收藏

          Subversion 今天你用了嗎 :)


          一直以來我都在使用
          TortoiseCVS和CVS,昨天使用了一下Subversion和TortoiseSVN 感覺很好
          希望大家對Subversion
          有好感,替它鼓吹一下:)

          有用資源:

          Subversion:
          http://subversion.tigris.org/
          Subversion book:
          http://svnbook.red-bean.com
          tortoiseSvn:
          http://tortoisesvn.tigris.org/
          cvs book:
          http://cvsbook.red-bean.com/cvsbook.html

          posted @ 2005-09-28 11:48 martin xus| 編輯 收藏

          僅列出標題
          共28頁: First 上一頁 20 21 22 23 24 25 26 27 28 下一頁 
          主站蜘蛛池模板: 泰顺县| 逊克县| 辽宁省| 象山县| 台东县| 伊吾县| 岑巩县| 怀化市| 迭部县| 英山县| 井冈山市| 胶南市| 阿拉尔市| 隆林| 金阳县| 宝清县| 共和县| 溧阳市| 姚安县| 南京市| 凤冈县| 宝清县| 博爱县| 徐水县| 南阳市| 嵩明县| 札达县| 会泽县| 天水市| 甘孜| 龙江县| 扎鲁特旗| 池州市| 怀宁县| 朔州市| 邻水| 祁门县| 阿巴嘎旗| 平安县| 聊城市| 托克逊县|