Re: [請益] 想學手持系統的程式設計相關問題
※ 引述《Ting1024 (無)》之銘言:
: 標題: Re: [請益] 想學手持系統的程式設計相關問題
:
: 有沒有 source code 並不是重點,碰到問題USER
: 也不可能真的去看SOURCE CODE,而是先去看API說明,
: 再看不懂還是到網路問問..
:
: 差異在哪?在設計的核心思想. 更現實的來講,
: 網路上放出來的資源哪一邊多,那邊就是好開發,
: 即使像 java script 這麼難寫的CODE,就因為網路
: 資源多,他就是好用。
:
: 但繼續探討到底要寫兩邊,還是壓寶一邊,如果只能
: 壓寶一邊的話,各位會壓哪一邊?這部分,大家的
: 看法就會很有趣了 :D
:
: → kenzou:javascript怎麼會難寫.. 06/20 13:36
: → Ting1024:要是沒 google, Java script 根本沒幾隻貓會寫 ~_~ 06/20 16:43
: → Ting1024:隨便一個功能就會搞死人了..例如下拉式選單 ~_~ 06/20 16:43
: → askeing:js要寫得好應該不簡單… 06/20 16:44
: 推 coronach:js需要強大的Google能力...不然根本背不完 06/20 23:39
js 需要的是經驗,實際上他的語法不會背不完啦,
怕背不完的加疊一個 jQuery 或 prototype 中介層就好了。
js 最大的問題在於他強調高度的整合,因為很多元件都需要自己重新打造,
然後需要考慮許多週邊的因素,
比方說瀏覽器的相容性,相容性中有幾點
1.樣式的不相容:
其實這許多lib都可以處理掉了,除了你客製,
但你要客製外觀等於你要自己吃下 css designer 的職責,
那你得要會多的東西是正常的,角色不同。
2. js 的執行效能:
這個就是吃經驗的地方了,有許多最佳化技巧,
是你連 google 都很難找到的。
比方說你畫面變動頻繁的狀況下一直持續 call dom.offsetWidth,
會導致畫面一直不斷重繪去取得數字,在老瀏覽器下超級慢,
你沒有處理過類似的東西你怎麼會知道?
或者是用 selector 之類的效能,對底層不夠有 sense ,
你怎麼知道哪些瀏覽器有支援原生 selector 或是哪些瀏覽器只能用
模擬的 sizzla 或其他引擎來處理?
Javascript 在語言上不能算是難寫,
他原生的資料結構相當單純,就是 json 我們會看見的那些,
Object (Map): { key1:value1 , key2:value2 }
Function : function(param1,param2){
return xxxx;
}
Number(整數浮點數都算這類):
String(char/string都歸這類)
Array: [obj1,obj2,obj3]
剩下來的都是特別的 Dom element ,這算是 object 的延伸,
很多人覺得 dom 的元素因為不同瀏覽器的 dom attr 不太一樣,
所以很難一一找,但基本上大原則你知道,這些都只是時間的問題。
還有一些就是 prototype based 相關的語言特性,
這種語言特性就是如果你沒學過,你就一定要花時間去學,
像是 closure ,不然你不會用,這是你逃不掉的語言特性,
但語言特性只是一次性的成本,學了就會了,不太需要一直重新學習。
我寫 js 寫到現在我已經很少在 google js 的語法了,
只要給我一個 browser window ,我就可以拿到我所有想要的訊息。
連網址列都能拿來當 javascript console 用,這就是熟練度的問題。
javascript 算是「相對」好用才很多人寫,
他只是因為它被放在一個很難被取代的戰略性的位置,
而且事實上它也還不算是太糟糕,以用不用他獲得的改善而言,
還會有像我們這樣的閒人願意去研究他,在上面疊床架屋搞framework。
javascript 的替代方案像是 flash/applet/silverlight/activex..etc
都沒有辦法有效的把 javascript 替代掉,這是為什麼它可以歷久彌新。
還有,早在2001年 google 還不是那麼火紅的時候 js就有人在寫了,
只是那時候我們不需要這麼複雜的東西而已。 ;)
學 JS 比較不建議的是,你只學 lib 的 API 的使用而不學核心技巧,
這樣萬一你使用的 lib 改 API ,你等於是整個學習曲線又要重新再來一次。
像我曾經看過有人在各討論區問了「四年」的問題,還是只會問問題,
從來不參與回答跟分享,而且原理很接近的問題還會問好幾次,讓我印象深刻。
他學會的是怎麼使用者 API 跟怎麼解決眼前的問題,
而不是這些事情背後的成因,這樣會讓人一直一直的需要依賴別人解決問題。
其實不是那麼的好,要小心。
對於 javascript 的 coding 其實不是困難,就是瑣碎,
但說瑣碎,也只是因為很多人不好好的認真的把他當成一套專業領域的語言,
覺得這東西應該簡簡單單寫個幾行就要很 powerful 才會覺得。(大笑)
我對 JS 還蠻有信心的,有關對 JS 的延伸討論,也歡迎到 ajax 板聊。 ;)
--
I am a person, and I am always thinking .
Thinking in love , Thinking in life ,
Thinking in why , Thinking in worth.
I can't believe any of what ,
I am just thinking then thinking ,
but worst of all , most of mine is thinking not actioning...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.44.37
→
06/21 12:00, , 1F
06/21 12:00, 1F
→
06/21 12:00, , 2F
06/21 12:00, 2F
推
06/21 12:42, , 3F
06/21 12:42, 3F
推
06/21 12:52, , 4F
06/21 12:52, 4F
推
06/21 13:10, , 5F
06/21 13:10, 5F
→
06/21 13:11, , 6F
06/21 13:11, 6F
推
06/21 15:47, , 7F
06/21 15:47, 7F
推
06/21 16:31, , 8F
06/21 16:31, 8F
→
06/21 17:15, , 9F
06/21 17:15, 9F
→
06/21 17:15, , 10F
06/21 17:15, 10F
→
06/21 17:24, , 11F
06/21 17:24, 11F
→
06/21 17:24, , 12F
06/21 17:24, 12F
→
06/21 17:25, , 13F
06/21 17:25, 13F
→
06/21 17:25, , 14F
06/21 17:25, 14F
→
06/21 17:25, , 15F
06/21 17:25, 15F
→
06/21 17:26, , 16F
06/21 17:26, 16F
推
06/22 06:34, , 17F
06/22 06:34, 17F
→
06/22 09:05, , 18F
06/22 09:05, 18F
→
06/22 11:15, , 19F
06/22 11:15, 19F
→
06/22 15:47, , 20F
06/22 15:47, 20F
→
06/22 17:47, , 21F
06/22 17:47, 21F
→
06/22 17:47, , 22F
06/22 17:47, 22F
→
06/22 17:48, , 23F
06/22 17:48, 23F
討論串 (同標題文章)
完整討論串 (本文為第 4 之 4 篇):
4
12
Soft_Job 近期熱門文章
PTT職涯區 即時熱門文章
8
158