讓你的程序輕盈起來(lái)
深度技術(shù)控們有一個(gè)特點(diǎn),能用C實(shí)現(xiàn)絕對(duì)不用java,能用java實(shí)現(xiàn)絕對(duì)不用javascript,哪怕要寫(xiě)更多的代碼,他們總有N種理由,其 中最常用的一條就是這個(gè)沒(méi)有技術(shù)含量。弱弱地問(wèn)一句,技術(shù)含量是用來(lái)干嘛的,用來(lái)炫耀的么?
想起一個(gè)段子:搞C的看不起搞C++的搞C++的看不起搞 java的 搞java的看不起高.net的 搞.net的看不起搞js的 搞js的看不起搞html的 搞html的看不起美工. ***美工周末去泡mm的時(shí)候, 一群傻X在那里加班。
程序員身邊有一個(gè)很有意思的現(xiàn)象,接私活接得最多的,往往是美工和搞Flash的,再就是做PHP/Java/.Net的,而C及C++接私活,估計(jì)比較難。許多人看不起所謂的“低級(jí)”技術(shù),在我的從業(yè)經(jīng)歷中,像HTML/Javascript之類(lèi)的的技術(shù),常常受人輕視,隨著AJAX技術(shù)的興起, 這種狀況稍為有些改善。
Javascript歷來(lái)處于一個(gè)很尷尬的角色,寫(xiě)程序的不愿寫(xiě),美工不會(huì)寫(xiě),許多中小型公司并沒(méi)有專(zhuān)職的Javascript開(kāi)發(fā)人員(或者叫 Web前端開(kāi)發(fā)工程師)這一角色。許多時(shí)候,Javascript都會(huì)被程序員視為一個(gè)苦差,他們覺(jué)得這玩意兒沒(méi)有什么技術(shù)含量,調(diào)試?yán)щy,更不用說(shuō)那蹩 腳的IDE了。
事實(shí)上,現(xiàn)在的互聯(lián)網(wǎng)環(huán)境,Javascript是一種非常好的解決方案,首先它跨平臺(tái),絕大多數(shù)的 瀏覽器都能夠支持,這也就意味著它可以跨操作系統(tǒng);其次,它入門(mén)簡(jiǎn)單;第三,隨著各瀏覽器支持HTML5,利用 Javascript+Html5+CSS3,可以開(kāi)發(fā)出更多功能的程序。
我列出互聯(lián)網(wǎng)目前幾個(gè)關(guān)鍵詞:開(kāi)放、混搭、多終端、App,開(kāi)放是說(shuō)目前許多網(wǎng)站都有自己公開(kāi)的 API,而且都支持使用Javascript進(jìn)行調(diào)用,Javascript SDK已經(jīng)作為開(kāi)放平臺(tái)必備的一個(gè)SDK了,當(dāng)然還有一個(gè)是PHP的SDK;混搭也就是英文的Mashup,你可以利用Google Map+Twitter+Facebook API搭出一個(gè)你自己的網(wǎng)站;多終端是指一個(gè)網(wǎng)站除了網(wǎng)站本身,還需要開(kāi)發(fā)出運(yùn)行在各種終端上的軟件,比如說(shuō)Firefox/Chrome/Oprea的 插件、客戶(hù)端、手機(jī)網(wǎng)站等;App是指現(xiàn)在流行的App Store,比如說(shuō)Facebook的App和Apple的App Store等。
比如說(shuō)你現(xiàn)有一個(gè)網(wǎng)站,你可能想有一個(gè)客戶(hù)端,想有手機(jī)版的網(wǎng)站,想做一個(gè) iPhone/Android的軟件,想在各瀏覽器運(yùn)行你的插件,那么有沒(méi)有一種方案可以低成本地實(shí)現(xiàn)呢?答案是有的,利用Javascript,上述功 能都能實(shí)現(xiàn)。來(lái)看看可以在哪些地方可以使用Javascript搞掂吧。
1.網(wǎng)站
2.手機(jī)網(wǎng)站,不支持Wap網(wǎng)站
3.瀏覽器插件(Firefox/Chrome/Maxthon……)
4.iPhone軟件
5.Android軟件
6.客戶(hù)端,使用AIR進(jìn)行開(kāi)發(fā)
7.各種App(百度App、Facebook App、微博應(yīng)用等等)
Javascript自然不能實(shí)現(xiàn)太復(fù)雜太低層的功能,比如說(shuō)你要做一個(gè)很酷的游戲在iPhone上,自然是不可能使用Javascript的,但 作為網(wǎng)站功能的延伸,我們完全可以利用Javascript/AJAX來(lái)做解決方案。這種解決方案的優(yōu)點(diǎn)就是你只需要寫(xiě)一套代碼,然后根據(jù)不能環(huán)境進(jìn)行一 些擴(kuò)展就可以了,因?yàn)椴荒墉h(huán)境對(duì)于Javascript的使用是有差異的,比如說(shuō)在iPhone上,你可以使用橫屏的功能,在Chrome插件上你可以使 用桌面通知的功能,而在AIR中,你要考慮沙箱等等。
我大致說(shuō)一下不同環(huán)境的實(shí)現(xiàn)方式,網(wǎng)站之類(lèi)的就沒(méi)什么可說(shuō)的了,iPhone與Android就是加載一個(gè)瀏覽器,然后用瀏覽器加載一個(gè)本地html頁(yè)面??蛻?hù)端的話,就是使用AIR,當(dāng)然你也可以使用WebKit。各種App其實(shí)和網(wǎng)站沒(méi)什么兩樣。
跨各種環(huán)境的Javascript寫(xiě)起來(lái)還是比較麻煩的,你要了解到不同環(huán)境的限制與特色,既要發(fā)揮不同環(huán)境的特色,又要***限度地提高代碼重用 率。比如說(shuō)在iPhone下就Javascript運(yùn)行的時(shí)間限制,這樣你肯定不可能像在PC上運(yùn)行Javascript一樣,因?yàn)橘Y源是有限的。
對(duì)于不差錢(qián)的主兒來(lái)說(shuō),自然不用考慮這種方案,畢竟針對(duì)特定環(huán)境進(jìn)行特定開(kāi)發(fā)的用戶(hù)體驗(yàn)會(huì)好很多,但對(duì)于創(chuàng)業(yè)者來(lái)說(shuō),這種方案是值得期待的。
本文來(lái)自涂雅[http://iove.net/],原文鏈接:http://iove.net/archives/2917.html,網(wǎng)站轉(zhuǎn)載請(qǐng)注明來(lái)源于涂雅并保留原文鏈接,否則視為侵權(quán)。
【編輯推薦】


























