(11/11/16 16:23), Bob Chao wrote: > 我先講一下,最近在忙MozCamp 跟換工作跟搬家的事情,我要不就只能很粗淺地先掃一遍、要不就是要晚點,但總之我現在快速掃過的基礎想法如下:
感謝你的回信~慢慢來沒關係,希望你不要因為我回信太多就覺得我在催你 xd > 1. 盡量避免寫得太多,或許你可以看一下有沒有哪些句子能精簡,因為長信少人看。當然這也要看你的目標,如果就是想找「會有耐性把這些看完」的人,那沒差。 目標就...會幫忙做實作註解的人,我也不知道那些人會不會看長信,總之我先精 簡了不少部份(參看附件的 .txt 檔)這封信 * 「理由一」刪了三分之二 * 「理由二」刪了三分之一 > 2. "這裡想跟大家介紹 W3C HTML5 中文興趣小組關於 HTML 規範實作註解的線上計畫,並鼓勵各位踴躍參加。" 這邊看起來是沒有把自己視為 > TOSSUG 的一員,而以一個外來者的身分「鼓勵 TOSSUG 的成員參與」。看你會不會在意造成這樣的印象,一般我不這樣寫,由其 TOSSUG 的 > Ping 一開始也有參與推廣 HTML5 中文興趣小組,其實你就有很好的位置把自己當成他們的一員。隨意改寫你參考:「 > > 最近 W3C HTML5 中文興趣小組有個「HTML 規範實作註解」計畫,希望能把規範裡的某些部份加上註解、直接連到 Gecko 或 Webit > 的實做程式碼,以便幫助大家交叉參考程式碼與規範,蠻推薦大家參加。 > > 」 同意,已更改。 > 我沒有把握這樣改寫有符合你的想法,但應該可以表達那個寫作角色轉換上的意思。 > > 3. 有些詞的確可能要修一下,舉例: > > 我改的重點: > > - 刪掉「不可能」相關的詞,一方面這比較武斷、閱讀時感覺怪怪的,二方面其實你也補述了「要辦的話,有些條件要先成立」,那就不是不可能了。 的確 > - 不見得會先定位出「問題程式碼」在哪裡,只要定位出某些區段的實做在哪裡,那問題就會好抓很多,而且事實上這跟你主題裡的 HTML5 我的確是覺得我在之前研究的「決定編碼」[1] 那邊太過頭了,應該把範圍弄廣一 點... [1] http://www.w3.org/html/ig/zh/wiki/HTML5/impl#.E8.BC.B8.E5.85.A5.E4.B8.B2.E6.B5.81 > 規範實做註解也比較相關。 > - 刪減一部分篇幅 > - 重點粗體顯示 OK,已更改。 > 看個意思就好 我還在上班也不會花很多時間斟酌 沒關係,總之花幾天醞釀一下。 > 這個計畫總地來講我還蠻有興趣的 對我這類人(不太寫,但確實想知道問題在哪裡,以及怎麼協助開發者修補東西)會很實用。 感謝你的支持啦,當然也歡迎你就「如果某台灣公司(或是一般中文相關企業)要 開發 WebKit,它大概會開發哪個部份...」這個部份提供想法,畢竟這是我為什麼 會想做這個實現註解裡面很重要的部份,總是希望這個計畫最後能派上一些用場 (除了讓自己送補丁以外 :p)。目前覺得 Device API 這些大概是很重要,比較 遺憾的是這些離 HTML 規範比較遠一點。當前我的目標是 <video> <audio> 的這 塊,因為跟華為的視頻流、IPTV 這些比較相關,你有什麼想法也歡迎提供啦! 我把一些跟這個計畫有的沒有的想法再多跟你講一點,有些太囉唆或是太長遠的我 是覺得寫進寄給 TOSSUG 的宣傳稿不太妥當... * 做實作翻譯這個事基本上不是特別創新的想法,之前有人做了一份 <canvas> 規 範的「測試版」[2],意思是規範裡的基本上很多部份都連到測試這些規範敘述在 某個瀏覽器下正不正確的測試資料。因為一份標準的完成基本上就是有兩個瀏覽器 滿足一份規範的所有敘述這樣。 [2] http://w3c-test.org/html/tests/submission/PhilipTaylor/annotated-spec/canvas.html * 從規範敘述連到原始碼就更...暴力了,我是不覺得比前者難就是了,不過比 HTML 規範翻譯更有愚公移山的感覺。 * Ping 或是很多人有講過說我們不應該只翻譯,要做點新的東西,基本上實現註 解是新的東西,至於外國為什麼沒人做這類的事,如果拿去 #whatwg 問的話,大 概只會得到「因為你沒開始做」這種開源社群的標準答案,當然也可能是這種作法 會造成實作過度依賴規範這種不好的結果,又或是這種作法缺少效率吧。老實說, 我有想過跟國外合作(基本上就是 #whatwg)的可能,不過至少這個實作註解的成 果如果是英文的話肯定不能放 W3C 網站,畢竟這個東西完全傾向開源的瀏覽器, 對 Opera、IE 等等瀏覽器有不公平之嫌(不過目前反正用中文被說話的機會比較 小一點)。另外就是總是希望透過實作註解學到東西的人是中文世界的人 :p * 有關於「協助開發者」的部份,目前的作法當然能協助的「開發者」就是瀏覽器 開發者,而且是 Web 標準這一塊(換句話說,在中文世界裡基本上沒有人)。其 實我是希望對 F2E 比較有經驗的人能再想初一些更能善加利用這個規範翻譯成果 的各種註解方式,像是舊瀏覽器的各種兼容情形、新功能的實作情形之類的。畢 竟,HTML 規範裡面有一個 Web Developers 的版本[3],就是從本來的規範裡切出 來的。(不知道這樣說會不會惹你生氣,不過之後強烈歡迎 Mozilla Taiwan 來 W3C HTML5 中文興趣小組主導這類的計畫) [3] http://developers.whatwg.org/ * 給 TOSSUG 的宣傳稿裡面,我本來是有想要寫「HTML 規範還定義了某些基本的 演算法,像是不分大小寫比較字串之類的(HTML 比較屬性之類的東西不分大小 寫),透過這個實作註解,剛寫程式的朋友可以點這幾個連結就知道大型專案裡這 麼基本的方法是怎麼實作的」之類的從教育上解釋實現註解的好處,不過我覺得對 TOSSUG 的人來說好像有點扯淡,月底我去中研院演講再用這種宣傳方式好了... 目前就先這樣啦,TOSSUG 試過之後我可能還會多透過一些社群,包括 h4、上海開 源社區或是一些私信宣傳吧,有什麼宣傳上的點子或是這個計畫在執行上的意見歡 迎繼續提供啦! > ~Bob ~Kenny
åä½ TOSSUG ç hacker åå¤§å®¶å¥½ï¼ é裡æ³è·å¤§å®¶ä»ç´¹ W3C HTML5 䏿èè¶£å°çµéæ¼ HTML è¦ç¯å¯¦ä½è¨»è§£çç·ä¸è¨ ç«ï¼ä¸¦é¼åµåä½è¸´èºåå ã == ä»éº¼æ¯ HTML è¦ç¯å¯¦ä½è¨»è§£è¨ç«ï¼== éæ¯ç± W3C HTML5 䏿èè¶£å°çµç HTML è¦ç¯ç¿»è¯å»¶ä¼¸åºä¾çä¸åè¨ç«ï¼åºæ¬ä¸ å°±æ¯æè¦ç¯è£¡é¢çæäºé¨ä»½ï¼å¨æ¥µç«¯çæ 形䏿¯æ¯ä¸è¡ï¼ç´æ¥é£å°ç覽å¨å¯¦ä½çå å§ç¢¼çæäºé¨ä»½ï¼ç¯ä¾ï¼[2]ï¼è«é»åç覽å¨å示ï¼ãé裡åå§ç¢¼ä½¿ç¨çé£çµæ¨£å¼ å¦ä¸ï¼ Gecko: http://hg.mozilla.org/mozilla-central/annotate/945f64763a70/content/html/document/src/nsHTMLDocument.cpp#l823 WebKit: http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Document.idl?annotate=blame&rev=99612#L21 ä¹å°±æ¯å¨åµé é£çµç¶ä¸çææ°çæ¬çæä¸è¡ï¼ç¨ãç¶ä¸ææ°çæ¬ãè䏿¯ãææ°ç æ¬ãæ¯é¿å è¡æ¸å¨æ°ççæ¬ä¸ææ¹è®ï¼èç¨ãç¶ä¸ææ°çæ¬ãåºæ¬ä¸å°±æ¯çºç¶æç åå§ç¢¼ç §å¼µå鿍£ã [2] http://www.w3.org/html/ig/zh/wiki/HTML5/impl#.E8.BC.B8.E5.85.A5.E4.B8.B2.E6.B5.81 == çºä»éº¼è¦å鿍£çäºæ ï¼== === çç±é¶ === ä½çºä¸åæ¥é¤äººå£«ï¼æç®åééé份è¦ç¯ç¿»è¯ + 實ä½è¨»è§£å·²ç¶è²¢ç»äº Gecko + WebKit äºéæ¼ CSS 實ä½çä¸åå°è£ä¸ãæ¡è¿å¤§å®¶ç¨æ¥é¤çæéä¾ hack Gecko/WebKit ä¸ä¸ï¼éåè£ä¸ï¼è²¢ç» Web æ¨æºä¸¦çµ¦èªå·±çæè¡äººäººçæ·»å ä¸çã === çç±ä¸ === å¹¾åæçè§å¯ä¸ä¾ï¼æç¼ç¾ Gecko è· WebKit å¨å°ç£ä¸¦æ²æéç¼è ï¼ææ³éå主 å ç¶ç¶æ¯åæ¥çç±ãåä¾å°±æ¯å¤§åçå°æ¡æ¬ä¾è¦åå ¥å°±ä¸æ¯å¾å®¹æï¼Gecko/WebKit çææªä¹ä¸å¤ 詳細ã 忥çç±ä¸åå°å°ç hacker åºæ¬ä¸æ²ä»éº¼è¾¦æ³æ¹è®ï¼ä½æ¯å¨ææªä¸é¢ï¼æèªçº HTML è¦ç¯å¯¦é䏿¬èº«å°±æ¯ç¸ç¶å¥½çç覽å¨è¦æ ¼æ¸ãç¢ç«éä»½è¦æ ¼æ¸å°±æ¯åç·¨è¯ IE çææè Gecko/WebKit 顿坦ä½é¨ä»½ç交éã ééé份è¦ç¯å¯ä»¥åæææ¡ä¸çä¸å¤§åéæºå°æ¡åå¹¾åä¸çå ©åå°æ¡ â Mozilla è WebKitã妿ä¹å¾æå¹¸å HTTP è¦ç¯ç實ä½è¨»è§£ç話ï¼èªªä¸å®éå¯ä»¥å ä¸ Apacheãæå¨ COSCUP è½ Linux Kernel ç Talk è¬èªªãLions' Commentary on UNIXãæ¯ Linux æ·å²çèµ·é»ï¼é£æç¸ä¿¡ HTML è¦ç¯ä¹ä¸å®æ¯çè¦½å¨æ·å²ä¸ç¸ç¶éè¦ çä¸åéç¨ç¢ã === çç±äº === ææ³çæä¹å §å°ç£é½ä¸å¤ªææ©æå WebKit åå ¨è·çéç¼è ï¼æ´å Adobe å WebKit å ¨è·çä¹åªæå ©å人ï¼ï¼å¦æåªæ¯åæ«æç Gecko/WebKit éç¼ï¼è½å¤ å¿« éçæ¾å°è¦éç¼é¨ä»½çåå§ç¢¼å°±è®å¾å¾éè¦ã æå¸¸å¸¸è½å°å¤§é¸ WebKit 社群çæåå¨åãJS çåå ¥é»å¨åªï¼ããè¦æ´å± window ç©ä»¶æéº¼åï¼ãä¹é¡çåé¡ï¼å¸æä¹å¾éåè¦ç¯å¯¦ä½è¨»è§£è½å¤ æé種åé¡ççæ¡è¨ è¼ä¸ä¾ã æä»¥ç®åç¾æç實ç¾è¨»è§£å·²å æ¬ JS è£¡é¢ windowãdocument ç©ä»¶æç¨ç IDLï¼é æ¨£è¦æ¾æ´å± windowãdocument çæ¹æ³å°±æåèµ·å§é»äºãä»»ä½åæ¥å ¬å¸å¦ææãå¦ ææè¦éç¼ WebKitï¼æå¤§æ¦æéç¼éåé¨ä»½...ãçè¨ç«çè©±ï¼æ¡è¿è·æåèªªï¼æ åå¯ä»¥å è¡åé£åé¨ä»½ç實ä½è¨»è§£ã === çç±ä¸ === ä¹å pingooo 卿å°èªªè¦è¾¦ä¸ææçç¸éçå·¥ä½ç´¡çæåï¼æèªªä¸åè¦ä¾å WebKit hackathon ä¾è§£éäºåé¡ï¼è實說æè¦ºå¾éå®å ¨ä¸å¯è½ï¼å æ¯å®ä½ç¸éç ç¨å¼ç¢¼å¯è½å°±è¦è±ä¸åä¸åäº... é£æåæ¯è¦ºå¾å¦æè¦è¾¦éæ¨£çæ´»åï¼äºå çæºåä¸ä¸å®è¦å å®ä½åºåé¡ç¨å¼ç¢¼å¨åª è£¡ï¼æä»¥é乿¯æç¾å¨å CSS2.1 實ä½è¨»è§£[3]çä¸åç®æ¨ï¼ä¸éæä¸è½ä¿èææ ä¸æå®ä½åºåé¡å°±æç¢éè£ä¸äº :pï¼ [3] http://www.w3.org/html/ig/zh/wiki/CSS2/impl == å¦ä½åèï¼== æåæ¡ wiki èªå©å¼ï¼ 1. ä¸W3C註å帳èé [4]註å帳èãè¨å¾ä¸è¦ç¨ä¸æï¼æ±æãW3Cçç³»çµ±ä¸æ¯å¾æå éè§ï¼ 2. æ¾æ³ç¿»è¯ç段è½ãçç[5]çå°ç §è¡¨ææ²æé復 3. éå§ç¿»è¯ï¼æwikiçå顿¡è¿ç§ä¸åææ¯å¨åè¡¨ææ¯è¨è«é è©¢å 妿æ³è¦è¨»è§£ç實ä½é¨ä»½å°æªæä¸æç¿»è¯ï¼ä¹æ¡è¿èªå·±å æ¾åå°æ¹åè±æçè¦ç¯ç 實ä½è¨»è§£ï¼ä¹å¾å¨çµ±åä¸ä¸ã å°±åä¸é¢è¬å¾ï¼å¦ææåæ¥å ¬å¸ææªä¾é¡æéç¼ WebKit åªåé¨ä»½çæ å ±å¯ä»¥å å ç¥ä¸ä¸çè©±ï¼æåå¯ä»¥å çé£åé¨ä»½çç¨å¼ç¢¼ã å ¶ä»äº¤æµç®¡éï¼ * W3C HTML5 䏿èè¶£å°çµéµä»¶ç¾¤[6] * irc.mozilla.org #mozilla-taiwanï¼ææ¯ MozTW 社群æå¡ï¼ä½æ¯æ¬å°æ¡è Mozilla Taiwan ç¡éï¼ * QQ HTML5 ç¿»è¯ç¾¤ï¼ç¾¤èï¼151145242 * ç§ä¿¡ [4] http://www.w3.org/Help/Account/Request/Public [5] http://www.w3.org/html/ig/zh/wiki/Talk:HTML5/impl#.E8.B2.A2.E7.8D.BB.E6.8F.90.E5.A0.B1 å 康豪ï¼Kennyï¼, 䏿èè¶£å°çµW3Cé£çµ¡äºº, Amateur Gecko/WebKit Contributor Google+: https://plus.google.com/112088462407783855918/posts æ°æµªå¾®å: http://t.sina.com.cn/1950042164