自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HTML 5在應(yīng)用程序開發(fā)方面沒有捷徑

原創(chuàng)
開發(fā) 前端 后端 新聞
炒作不能信:純粹的網(wǎng)頁標(biāo)識仍然不足以勝任正式的應(yīng)用程序編寫,HTML5在應(yīng)用程序開發(fā)方面不存在捷徑。

【51CTO外電頭條】對于專業(yè)開發(fā)人員來說,最令人抓狂的說法莫過于有人以“HTML程序員”自居。網(wǎng)頁編碼之于真正的編程工作,正如撰寫菜單之于真正的烹飪過程。但平臺供應(yīng)商近來的說法無疑令人大跌眼鏡——HTML已經(jīng)成為從智能手機、平板應(yīng)用到桌面系統(tǒng)應(yīng)用等各大開發(fā)領(lǐng)域的首選開發(fā)工具。

51CTO推薦專題:HTML 5 下一代Web開發(fā)標(biāo)準(zhǔn)詳解

[[36166]]

Palm品牌當(dāng)初啟動其自有平臺WebOS時,曾聲稱開發(fā)人員只需掌握基本的網(wǎng)頁編程標(biāo)準(zhǔn),即可輕松為其開發(fā)應(yīng)用程序。微軟在Windows Phone 7上也放出過類似的言論。谷歌的Chrome瀏覽器具備一套“網(wǎng)絡(luò)商店”,允許大家將自己的桌面網(wǎng)頁應(yīng)用程序放入其中進(jìn)行出售。但最終真正令我瞠目結(jié)舌的情況是,根據(jù)最近演示版本的表現(xiàn),Windows 8系統(tǒng)上的應(yīng)用程序?qū)⒅饕肏TML5進(jìn)行開發(fā)。這種狀況在令Windows開發(fā)人員們驚恐不已之余,更令人不禁揣測微軟可能正計劃完全放棄對Silverlight甚至.Net本身的支持。

我勒個去!難道我們真會被HTML 5鋪天蓋地的宣傳攻勢所蒙蔽,繼而相信微軟已經(jīng)準(zhǔn)備放棄Windows API并轉(zhuǎn)而支持網(wǎng)頁標(biāo)準(zhǔn)?這毫無道理。我承認(rèn)HTML5的確是一款不錯的工具,而且能夠為網(wǎng)頁創(chuàng)造出良好的應(yīng)用,但如今將其推至如此的高度就太過荒謬了。盡管它廣受歡迎,但我們?nèi)匀挥凶銐虻睦碛山忉尀槭裁礇]人將其作為通用開發(fā)工具的首選方案。以下是需要深入思考的一些注意事項。

1. 打算用HTML單獨創(chuàng)建程序?祝你好運吧

任何建議用HTML來創(chuàng)建應(yīng)用程序的家伙實際上都打定了主意想拖我們的后腿。他們潛在的臺詞當(dāng)然是讓我們用HTML及JavaScript來編寫程序,但這還不是我們需要用到的全部工具。事實上,要開發(fā)真正的網(wǎng)頁應(yīng)用程序,我們至少要用到HTML、JavaScript以及CSS——三種各自完全獨立的語言,而且是同時用到。W3C曾努力為HTML5添加了更多API,以使其能夠與網(wǎng)頁標(biāo)準(zhǔn)及諸如多線程及本地存儲之類的功能共同協(xié)作。這種做法其實是先假設(shè)我們的應(yīng)用程序不再連入任何類型的服務(wù)器端組件——也許是為了減輕繁重的運算及存儲負(fù)荷——而接下來我們要面對的就是所有必要的額外語言、API以及標(biāo)準(zhǔn)。

當(dāng)有人談起創(chuàng)建某種應(yīng)用程序“如同創(chuàng)建網(wǎng)頁應(yīng)用程序一樣簡單”時,他們所表達(dá)的真正意義是什么?網(wǎng)頁開發(fā)當(dāng)下已經(jīng)演變出一套復(fù)雜、多層次且涉及多種語言的規(guī)則。一般來說開發(fā)網(wǎng)頁應(yīng)用已經(jīng)不像我們印象中那么小菜一碟了。但這種難于掌握的模式真的就是我們打算強加給下一代開發(fā)人員的傳承產(chǎn)物嗎?

2. HTML的設(shè)計初衷并非為了創(chuàng)建應(yīng)用程序

HTML5總是伴隨著許多議論,最主要的論調(diào)是認(rèn)為它本身就是HTML的強化版,只不過針對網(wǎng)頁應(yīng)用程序支持做出了一些改進(jìn)。但擁有更好的應(yīng)用程序支持并不代表著HTML標(biāo)準(zhǔn)也在向此方向轉(zhuǎn)型。原本從XHTML 1.1手中接過旗幟的應(yīng)該是XHTML 2,其著重強調(diào)的是語義標(biāo)識與XML集成。歸根結(jié)底,XHTML 2是一種以文檔為核心標(biāo)識的語言。

XHTML 2最終折戟沉沙,然而,一個名為網(wǎng)頁超文本應(yīng)用程序技術(shù)工作組(簡稱WHATWG)的獨立機構(gòu)卻從該項目中分裂出來,不僅擺脫了W3C的HTML構(gòu)想,更開始從另一個角度為新標(biāo)準(zhǔn)的誕生努力工作。而正是由于該機構(gòu)的出現(xiàn),網(wǎng)頁應(yīng)用程序才迎來了嶄新的紀(jì)元——其研究的成果正是我們今天所熟知的HTML 5的基礎(chǔ)。

但是HTML 5真的就是最好的發(fā)展方向嗎?以HTML 5所大肆宣揚的<canvas>標(biāo)簽為例,其從本質(zhì)上意味著“插入一系列編程生成的、無法由標(biāo)識描述的圖形內(nèi)容”。這對于標(biāo)識語言來說是種很奇怪的使用方式。如果我們沿著這種思路繼續(xù)走下去,恐怕等于是將網(wǎng)頁標(biāo)準(zhǔn)硬塞進(jìn)一個它永遠(yuǎn)不會真正適應(yīng)的軀殼當(dāng)中。這對于網(wǎng)頁領(lǐng)域來說可能是必要的,但我們真的希望將這套體系擴展至方方面面,并最終把自己也扯進(jìn)極為被動的局面中?

3. HTML在構(gòu)建用戶界面方面弱爆了

蘋果公司對其原始Mac電腦做出的最重大的革新措施之一就是為開發(fā)者們公布了一套細(xì)致的人機接口指南。因此,與DOS程序不同,Mac電腦上的應(yīng)用程序在外觀和實際表現(xiàn)方面具備良好的一致性。這些應(yīng)用全都采用同樣的菜單、同樣的對話框以及同樣的報錯方式。當(dāng)大家探討Mac OS的巨大成功時,該系統(tǒng)在印象上的連貫性與一致性被公認(rèn)是其中一個突出的原因。這種特性甚至能克服一部分新系統(tǒng)給用戶帶來的陌生感與困惑。

而在網(wǎng)頁應(yīng)用程序方面,我們又回到了DOS時代。界面設(shè)計者們能夠自由地創(chuàng)建他們想要的任何按鈕,可以讓菜單從任何位置滑下或彈出,也完全有能力按自己的喜好將整個窗口設(shè)置成任何樣式。如果沒有一套標(biāo)準(zhǔn)化的部件,利用網(wǎng)頁技術(shù)開發(fā)應(yīng)用程序會使成品變得充滿沖突感,有時甚至?xí)屓烁杏X像是外星人的作品。此外,即使有些人愿意徹底拋開自己的想法,將用戶界面構(gòu)建得與iPhone上的應(yīng)用程序一模一樣,這套界面框架仍然無法直接適用于其它類型的Android手機。誰會花費大把時間去創(chuàng)建那種一個平臺一個樣的“本地化”網(wǎng)頁應(yīng)用?沒人會這么做,絕對沒有(更別說這里面還有不同機型之間屏幕尺寸的差異)。

4.創(chuàng)建專有平臺的HTML應(yīng)用程序毫無意義

好吧,退一步說,也許大家并不在意具體為哪款設(shè)備或哪個平臺開發(fā)軟件。比如說,現(xiàn)在我們正為iOS或Windows 8開發(fā)一款應(yīng)用程序。但我們究竟為什么要在單平臺應(yīng)用程序開發(fā)中使用HTML呢?事實上HTML的全部賣點及其相關(guān)技術(shù)所指向的都是開放式、跨平臺標(biāo)準(zhǔn)。

更重要的是,iOS與Windows都具備自己的軟件開發(fā)工具,而且這些工具在許多HTML有所不足的方面還同時做出了強化。首先它們?yōu)榇蠹姨峁┝艘惶讟?biāo)準(zhǔn)化部件,允許我們建立統(tǒng)一的用戶界面。其次,它們還提供訪問API的權(quán)限,使我們能夠根據(jù)本地處理速度對運算強度進(jìn)行調(diào)整。此外,它們允許大家將自己的應(yīng)用程序與那些其它平臺不具備的核心OS特色整合起來(由此也能夠大概推測消費者為什么會選擇此類平臺)。而如今,我們要把這種種優(yōu)勢全數(shù)拋棄,為什么?因為網(wǎng)頁應(yīng)用程序的編碼“更容易些”?即使真的更容易些,大家也不可能把擅長HTML當(dāng)成賣點寫進(jìn)簡歷——那樣你在就業(yè)之路上肯定會搞得灰頭土臉。

5.絕不應(yīng)該限制開發(fā)人員選擇網(wǎng)頁編程技術(shù)

要在網(wǎng)頁開發(fā)論壇上挑起激烈的口水戰(zhàn),選擇“詢問哪款編程語言‘最好’”這一話題再合適不過了。開發(fā)人員們都有自己所偏愛的工具,而且備選的編碼方案也有很多。

然而,網(wǎng)頁領(lǐng)域可選面就窄得多了。制作網(wǎng)頁應(yīng)用程序意味著使用HTML、CSS以及JavaScript進(jìn)行編程。這些都是必考內(nèi)容,因此也得到了大家廣泛的掌握。不過普及率高并不意味著人氣高。

但因為幾乎每個人都對HTML、CSS以及JavaScript有所了解,因此這些語言在開發(fā)人員群體中就有了極高的安裝占有度。這才是各大廠商們迅速宣稱在其新平臺上開發(fā)產(chǎn)品“就像利用HTML 5進(jìn)行編碼那樣容易”的真正原因。如此一來,他們就可以堅稱已經(jīng)有數(shù)百萬的開發(fā)人員已經(jīng)了解了如何與其平臺協(xié)同工作——盡管這種結(jié)論實在缺乏客觀依據(jù),因為每款OS及平臺都具有自己的特性。

如此看來,廠商們無疑將會繼續(xù)鼓吹大家能夠用上多少已經(jīng)掌握的網(wǎng)頁技術(shù),他們還將繼續(xù)把基于HTML及JavaScript的軟件開發(fā)工具引入其既有的操作系統(tǒng)——因為這對市場營銷大有裨益。這種做法頗為我所不齒。此類工具幾乎從未像它們所自我標(biāo)榜的那么強大,也從未在真正的專業(yè)開發(fā)人員群體中流行開來(相對于前面所提到的‘HTML程序員’而言)。最終,它們只會被排除在浩如煙海的強大、有品或更適合特定工作內(nèi)容的優(yōu)秀開發(fā)工具之外,成為不入流的垃圾。這場鬧劇已經(jīng)夠討厭,是時候收場了。

原文標(biāo)題:Let's face it: HTML5 is no app dev panacea

【編輯推薦】

  1. 五理由 .NET開發(fā)者應(yīng)該關(guān)注HTML 5
  2. 深入剖析HTML 5在移動開發(fā)方面的發(fā)展?fàn)顩r
  3. 為HTML 5的未來制定學(xué)習(xí)計劃
  4. 29個非常實用的HTML 5實例、教程和技巧
  5. HTML 5怎么就成了RIA“殺手”?
責(zé)任編輯:陳貽新 來源: 51CTO
相關(guān)推薦

2012-05-24 15:49:35

HTML5

2016-05-27 15:44:12

H5LeanCloudWex5

2011-07-12 10:15:05

2011-07-11 10:43:48

2015-02-05 10:11:44

HTML5Application

2011-12-27 13:37:48

HTML 5

2011-09-21 11:02:17

HTML 5

2011-06-21 16:38:34

SEO

2022-09-12 15:48:30

5G開發(fā)應(yīng)用程序

2020-10-10 10:30:31

JavaScript開發(fā)技術(shù)

2010-06-12 16:41:10

BlackBerry開

2022-08-17 08:48:07

IT領(lǐng)導(dǎo)者現(xiàn)代化

2011-09-02 09:51:59

HTML 5

2012-02-08 15:06:31

ibmdw

2022-09-19 00:37:13

SaaS云計算開發(fā)

2015-01-12 12:11:10

移動應(yīng)用原生混合

2015-01-12 09:52:08

移動應(yīng)用原生混合

2011-05-04 09:55:38

HTML 5

2022-09-27 15:16:42

開發(fā)Android應(yīng)用程序

2013-02-21 14:14:40

開發(fā)Tizen
點贊
收藏

51CTO技術(shù)棧公眾號