<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 59,  comments - 323,  trackbacks - 0

    莊表偉 說:

    JSVM,我覺得有一個方向可以嘗試去發展,就是瀏覽器中的對象管理,起到一個VM的作用

    dlee 說:

    問題就是你敢不敢去做小白鼠,或者叫做生活在剃刀邊上。對于一個嚴肅的項目,我做項目經理,是不會采用jsvm的。

    莊表偉 說:

    那為什么你就會采用prototype呢?

    dlee :

    prototype背后有強大的支持,而不是像jsvm那樣只有萬春華同志等很少的幾個鐵桿。

    莊表偉 說:

    為什么?你是看著哪邊人多去哪邊的嗎?

    dlee :

    你看那些叫喊"""支持"""的人會不會貢獻一行代碼。你太容易非黑即白了。當然不完全是這樣,不過支持能力是一個非常重要的考慮因素。

    莊表偉 說:

    我的意思是,JSVM,該不該用他,只能由我們看過他的代碼以后,來決定?

    dlee :

    你有能力維護所有的代碼嗎?

    莊表偉 說:

    我只是用他呀,又不是要改他

    dlee :

    我的意思是說,如果你在項目中使用了SpringRod Johnson玩累了,明天就宣布解散這個項目。你自己獨立去維護Spring的代碼。你去用什么啊,它只有很少的UI組件,其中還有問題。 你不要夸口這些自己都能開發好,我兩年前開發了一個比較好用的Grid,花費了一周多的時間。你自己去實現這樣一個組件后再說話。

    莊表偉 說:

    我不是用他的UI呀,而是用他的這個框架,來組織自己的代碼。

    dlee 說:

    你不用它的UI,有什么必要使用這個框架呢?dojo/prototype一樣可以做到啊,我是認為你這樣做引入了不必要的成本。況且你如何判定使用的UI庫在設計理念上與jsvm完全沒有沖突?

    莊表偉 說:

    OK,你現在已經有結論了,但是我還沒有仔細看過他的代碼呢,所以我現在還沒有結論,等我看過以后,自然會有一個結論的。

    dlee :

    Ajax庫這方面,大部分人都跟我希望的一樣,需要一個全面的解決方案。你說的jsvm專精于做某個領域,我認為是行不通的。任何運行于瀏覽器的js框架都應該是為UI服務的。沒有實現過很多UI組件,如何檢驗它的這個架構設計的合理性?

    莊表偉 說:

    目前看來,prototype,也只是專精于基礎領域的,在它之上,另有script.aculo.usRicoBehaviour這樣的lib

    dlee :

    你喜歡擺擂臺,那么就擺個擂臺,大家都實現Grid組件,看看誰做得好。

    莊表偉 說:

    呵呵,這倒是個好辦法

    dlee :

    你可以跟醒來來詳細討論,問題不是你想想得那么簡單。做小白鼠也有好處,曉鋼就經常偷偷練習一些自己的獨門絕技。

    莊表偉 說:

    呵呵

    dlee :

    你可以將我跟他的沖突理解為主要在一個領域,就是我不認為解決他所說的兩個問題,需要這么重的方案。而且他的解決方案從JS開發者的角度看來也不是很優雅。

    莊表偉 說:

    嗯,這兩點,我基本上是同意的

    dlee :

    萬春華同志的興趣不在UI組件方面,這使得他偏離了瀏覽器JS誕生的使命。今天我跟醒來說過類似的意思。 我們的分歧不完全在技術本身上面。因為我們思考問題的思路差別很大,所以沒有出現很大的交集

    莊表偉 說:

    嗯,我比較理解你的意思了,但是,我不是很同意...

    dlee :

    你看過他們的代碼了嗎?

    莊表偉 說:

    看了一些

    dlee :

    代碼的模塊程度如何?有沒有可能將醒來說的一些部分完全去掉?

    莊表偉 說:

    哪些部分?

    dlee :

    我覺得他們如果做一些更加清晰的劃分,劃分出一個最小的core部分,而且像Spring那樣劃分成很多不同的jar,這樣會更好一些。最糟的情況是要么全有要么全無

     

      醒來 已經添加到此對話中。

     

    dlee :

    你既然對jsvm非常感興趣,就和醒來先詳細談談。我作為旁聽好了。

    莊表偉 說:

    呵呵,好的呀

    醒來 說:

    好啊,我 最近剛看了jsvm的源碼

    莊,你覺得jsvm怎么樣

    莊表偉 說:

    我剛開始看他的代碼。說實話,我覺得他的js代碼寫得非常好,也很干凈、清楚。因此,這樣的一個人,寫出這樣水平的代碼的人,對于js的理解,肯定是相當深入的。

    醒來 說:

    代碼寫的是真不錯

    莊表偉 說:

    我以前曾經想當然的認為,他不了解js,只喜歡java,所以才會把js,扭曲成java的樣子這樣的想法,肯定是偏見。那么,在承認對方有足夠的智力與經驗的前提下,再來看他的代碼,我覺得更不該"斷然否定",說他"一無是處"

    醒來 說:

    我在javaeye 上提出了我的意見,我也認為他的代碼寫得很不錯,但是側重點有點不合時宜。現在真是有些像java虛擬機了,基本是一個classloader + class cache 的實現

    莊表偉 :

    還有這個:

    a) 獨立模式:standalone, 該模式下,當前頁面的jsvm獨立加載,不和系統中其他頁面的JSVM發生關聯。

    b) 應用程序模式:application, 應用程序模式下的頁面會除了加載jsvm以外,還將構造一個Application的環境。其他模塊模式的頁面會共享Application的資源。

    c) 模塊模式:module, 模塊模式的頁面必須運行在一個Application模式的頁面下。該頁面可以通過application框架共享資源以及訪問全局變量。

    d) 自動模式:auto, 頁面根據環境自動選擇是獨立模式還是模塊模式。

    我覺得很有點意思

    醒來 說:

    從名字上來講,jsvm倒是符合本意。但是java的成功不是只靠一個jvm的,我覺得 jdk 更關鍵

    莊表偉 說:

    現在的js庫,除了jsvm,都是以一個Page為單位運行的,鮮有"Application"的概念。而VM的提出,我認為,為將來合理的Browser Object Cache Layer,提供了可能

    醒來 說:

    我有點懷疑,這樣帶來的復雜性有沒有必要

    莊表偉 說:

    而且我還希望將來JSVM,能夠更好的支持請求任務隊列的管理,這樣的機制,JS的語法本身提供得并不夠好。還有多線程的管理,JS也沒有像Java那樣的,語法級的支持。

    dlee :

    我不大相信瀏覽器中的JS將來會被用在這樣的目的

    醒來 說:

    其實我覺得,這些應該是瀏覽器提供的功能,在瀏覽器未發展到這個程度之前,強迫javascript畸形的實現,不一定值得

    莊表偉 說:

    嗯,這是問題的關鍵...我前面的暢想,的確是我希望將來的JS,能夠支持的一部分

    dlee :

    是的,我們希望將來的JS引擎來提供這些基礎設施

    莊表偉 說:

    現在JSVM,也許能夠支持一部分,也許還不能夠,所以,說不定哪天JS 2.0出來,JSVM就沒有意義了

    醒來 說:

    所以對于jsvm的模式,應用程序模式還可以理解,模塊模式很難讓人明白有什么用

    莊表偉 說:

    這是一個思考模式的問題

    假設你對于js本身不熟悉,要讓你合理、自然的劃分多個js文件,合理、自然的在該load的時候才去load,這就相當的費力

    醒來 說:

    所以我的意見就是,jsvm 希望吸引人來開發,應該要給出jsdk 差不多,一個jsvm 吸引不了人

    莊表偉 說:

    當然,更加正確的道路,當然是按照js的本性來做,提出某種"js loading design pattener"。但是,在經驗還沒有被總結成模式之前,模仿java式的代碼組織,不失為一種方案

    醒來 說:

    load js 的模式其實現在都是 用一個同步的xmlhttprequest 去加載js,然后eval。這個 dojo prototype 都有提供基礎支持

    莊表偉 說:

    不是如何loading。而是,我現在有幾百Kjs文件,如何切分成合理的大小,然后在需要的時候去調用他們

    醒來 說:

    這個想法是對的,也是jsvm值得肯定的地方

    我的主要意見是說它提供的 jsc 的形式有點雞肋,同時缺乏簡單高效的工具類,所以吸引不了開發人員。jsvm2 的代碼里有 1/3 就是為了支持這個自創的jsc語法

    莊表偉 說:

    這是...敗筆...jsc我也不喜歡,混雜了部分js語法和部分java語法...還不如僅僅規定一個必須的頭部,其他的完全采用js語法呢。還有一點我覺得是這個萬兄在那里暢想,就是JSVM打算支持多種語法的設想,工作量太大了。

    dlee :

    不過萬春來同志說這個可以不用

    醒來 說:

    所以我建議索性拋棄jsc,以萬兄的javascript功力,寫一部分有用的工具類,我覺得不會有人真的愿意用 var map = new HashMap(), map.put(k, v); 這樣的方式寫js

    莊表偉 說:

    對的

    dlee :

    所以我剛才說:

    我覺得他們如果做一些更加清晰的劃分,劃分出一個最小的core部分,而且像Spring那樣劃分成很多不同的jar,這樣會更好一些。最糟的情況是要么全有要么全無。

    醒來 說:

    jsc 是可以不用,但jsvm 加載了接近80kjs就為了支持jsc, 沒有意義啊

    莊表偉 說:

    他現在是有多個js的,只是他core的部分太大了

    醒來 說:

    莊,如果你去看runtime.js 就知道了,jsvm2其實把jsc都預先編譯了,否則效率一定太低

    現在甚至還有一些觀點,不要把js分得太多,因為要激發太多的http連接,反而響應性更不好。畢竟js的加載是同步的 ,這各ajax的異步核心思想有沖突。

    dlee :

    這個考慮也是很有道理的

    莊表偉 說:

    激發太多的http連接?還是激發太多的同步http連接?

    dlee :

    那個所謂的classloader就是向服務器請求一個包含js類的文件,然后evaluate。而且也要考慮evaluate的執行效率

    醒來 說:

    每一個import 就是一個http 連接。當然,jsvm 考慮到了cache

    dlee :

    對的,就是發出一個xmlhttp請求

    莊表偉 說:

    其實,他完全可以將自己的jsdk,做成一個jsc文件,一口氣load進來

    dlee 說:

    不是多個連接,這個要看服務器怎么配置。其實支持http1.1的瀏覽器和服務器都是保持長連接

    醒來 說:

    jsvmcache 也有些問題,他所謂的application模式,在不同的瀏覽器上實現各不相同,iejs源碼用iehtc 技術保存的,ff 是存cookiecookie 的容量是有限制的,所以cache 主要是針對 ie

    dlee :

    可能是在同一個http連接上發送多個http請求,這些請求需要排隊

    莊表偉 說:

    OK,我提一個方案,你們看是不是可以作為"最佳實踐"之一:

    對于多個異步請求,可以讓他分次異步提交。

    對于多個同步請求,應該將多個請求打包以后一次提交。

    這個作為"請求隊列管理"的一部分

    醒來 說:

    道理應該是這樣,jsvm里好像沒有這樣的控制,import語句也沒有這么智能

    莊表偉 說:

    其實jsvm應該這么做,比如他load一個jsc文件進來,里面的import語句可能有一堆,就應該是一口氣load其他的jsc,不該再分多次了

    醒來 說:

    我總覺得 線程/隊列 這些該是瀏覽器的事情,用js開發很不保險

    莊表偉 說:

    你看過我寫的那個RSSReader的代碼嗎?里面就有一個請求隊列的

    醒來 說:

    jsvm做不到,因為loadjsc里又有import 語句,這是遞歸的

    莊表偉 說:

    不是遞歸,是分層的

    醒來 說:

    要么js語言升級,要么瀏覽器升級,我總覺得現階段就想讓ajax完全達到替代桌面應用的程度是不可能的

    莊表偉 說:

    這個當然是不可能的...

    醒來 說:

    所以在現階段,還是不要搞復雜了,多線程和隊列能用到的地方畢竟不多

    我覺得dlee強調的對的,現在需要的是組件

    語言級別的東西,就讓js語言和瀏覽器標準去慢慢支持吧

    莊表偉 說:

    我理解你們所認為的"輕重緩急"了。根本的觀點在于:"急于將瀏覽器中應用,推向完全的桌面應用,并不現實"。立足于"更好的瀏覽器端應用",而非"盡可能像桌面應用的瀏覽器端應用",這么說來,當務之急自然是UI控件的完善與豐富

    dlee :

    我覺得瀏覽器中js誕生的使命就是改善交互和UI

    醒來 說:

    對,就是這個意思

    dlee :

    而且我從項目開發負責人的角度,更希望一個全面的解決方案。不是什么都需要我去做集成

    莊表偉 說:

    JSVM的問題,不在于他語法上像Java,而在于他的目標上像Java

    dlee :

    也可以這樣來理解

    醒來 說:

    ajax 里的cache 應該是去cache 數據,用來cache js代碼,意義多大呢,所以jsvm太技術化了

    dlee :

    Ajax in Action中,提出了一種獨占式應用。就是像Word一樣,可能每天都要用上幾個小時。目前的Ajax技術,包括一些基礎框架,還很難達到這個要求。所以確實需要這樣一類基礎架構,但是我們認為這些支持最好由瀏覽器和JS引擎來提供。

    莊表偉 說:

    看來我們已經初步達成共識了

    醒來 說:

    js 就是用來操作DOM的,不要讓它承擔太多重任,xmlhttp本來也不是 js的一部分,瀏覽器的擴展而以

    dlee :

    我發現現在很多人有一個通病。就跟我在那個ajaxmodel2框架的討論中說的那樣。毫不思考地就將一種技術或者架構用于設計意圖之外的場合。其實把IFrame用于異步請求也是這個情況

    醒來 說:

    jsvm 的建議就是拋棄jsc,完善它自己的面向對象架構,并提供工具類支持,這樣才有可能和 dojo 有競爭。所以在國外是稱為  tricks,  是有貶義的意思,但翻譯成中文,變成竅門,反而有了褒義了

    dlee :

    Ajax in Action的作者稱作hacky的做法,帶有貶義

    dlee :

    Ajax顯得與眾不同的地方不是它所使用的技術本身,而是通過使用這些技術所帶來的新的交互模式。我們所習慣的傳統的Web交互模型并不適合于獨占式的應用,只有打破了這種交互模型,新的可能性才會慢慢浮現出來。

    這是Ajax in Action的一句話,說得非常有道理。我們看到如此眾多的人都對Ajax感興趣不是偶然的。現在我們處在web app發生革命性變化的前夕

    莊表偉 說:

    嗯,我更關注:慢慢浮現出來的這些可能性中,哪些是正道,哪些是邪道

    醒來 說:

    我是覺得一定要擦亮眼睛,多從用戶的角度想問題

    莊表偉 說:

    這是對的

    posted on 2006-03-02 22:05 讀書、思考、生活 閱讀(1888) 評論(1)  編輯  收藏


    FeedBack:

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2006年3月>
    2627281234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(20)

    隨筆檔案

    友情BLOG

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 精品国产亚洲一区二区三区在线观看| 国产公开免费人成视频| 亚洲AV日韩AV无码污污网站| 亚洲午夜av影院| 成在线人永久免费视频播放| 亚洲黄色免费在线观看| 亚洲免费在线观看| 亚洲综合激情五月丁香六月| 亚洲AV乱码久久精品蜜桃| 亚洲中文字幕第一页在线 | 免费视频淫片aa毛片| 222www免费视频| a级成人毛片免费图片| 三上悠亚在线观看免费| 精品无码一级毛片免费视频观看 | 亚洲一区二区三区在线播放| 黄色成人网站免费无码av| 美女视频黄的全免费视频网站| xxxxx免费视频| 国产精品视频免费观看| 精品免费国产一区二区| 全部免费国产潢色一级 | 亚洲第一成年网站视频| 理论秋霞在线看免费| 91免费在线视频| 性色av无码免费一区二区三区| 在线观看免费大黄网站| 亚洲片国产一区一级在线观看| 亚洲啪啪综合AV一区| 亚洲国产中文在线二区三区免| 亚洲人成电影网站色www| 美女被暴羞羞免费视频| 中文字幕日本人妻久久久免费| 日韩在线播放全免费| 免费在线看片网站| 亚洲日本一区二区三区| 色视频在线观看免费| 最近2018中文字幕免费视频| 精品亚洲一区二区三区在线观看| 亚洲综合激情另类小说区| 一级毛片**免费看试看20分钟|