- 論壇徽章:
- 7
|
1、作為一個(gè)前端開發(fā)工程師,都需要掌握那些技術(shù)?前端工程師需不需要掌握架構(gòu)技術(shù)、設(shè)計(jì)模式等軟件開發(fā)技術(shù)?前端工程師的發(fā)展之路是什么?
- 常見(jiàn)的三大項(xiàng):HTML/CSS/Javascript,當(dāng)然這個(gè)是基礎(chǔ),擴(kuò)展的框架和協(xié)議:Ajax, DOM, XML, JSON,還要熟悉在此之上的諸多框架,比如jQuery之類的。還有一些其實(shí)也算前端技術(shù),比如flash之類的 ...
- 需要掌握架構(gòu)和設(shè)計(jì)模式等開發(fā)技術(shù):比如簡(jiǎn)單工廠在創(chuàng)建ajax對(duì)象時(shí)候, js與dom之間的觀察者模式 等等不一而足 ...
- 前端工程師的發(fā)展之路,其實(shí)和其他技術(shù)崗位差不多,無(wú)非資深工程師,轉(zhuǎn)職成管理崗位。還有一類就是轉(zhuǎn)成產(chǎn)品經(jīng)理,其實(shí)要我說(shuō),想做產(chǎn)品經(jīng)理就直接去做就好了,無(wú)需非要從前端工程師轉(zhuǎn)職 ...
2、從HTML1.0到HTML5,從CSS1.0到CSS3.0,從JavaScript1.0到1.8,這些版本間都有那些變化,如何做到版本兼容?
- HTML,表面看起來(lái)就是各個(gè)版本之間支持的標(biāo)簽不同,越新的版本支持的功能越強(qiáng)大,交互性更好
- CSS1.0->CSS3.0: CSS1.0,包含很基本的東西,字體/顏色/bargin等等,CSS2.0開始支持選擇器/浮動(dòng)/定位,CSS3.0就是拆分成不同的小模塊,支持類似多列布局等等新特性
- Javascript: 變化很多,一言難盡啊 ..
- 兼容性問(wèn)題:首先寫大家都支持的部分,遇到有兼容性的地方,先判斷瀏覽器類型,然后使用對(duì)應(yīng)的代碼就可以了
3、HTML5對(duì)多媒體的支持十分的強(qiáng)大,那么我們是否還需要Flex、Sliverlight或者Java Applet、Servlet呢?
- 我不覺(jué)得需要,微軟基本已經(jīng)放棄Sliverlight了,F(xiàn)lex也一直么有HTML5+JS好,Java Applet/Servlet慢的要死 ... 這些都不看好
4、做過(guò)Web的人都知道,不管是JavaScript(JavaScript也有很多版本,如微軟的JScript),還是CSS,在各種瀏覽器(甚至是同一瀏覽器的不同版本)下的兼容性是十分頭疼的問(wèn)題,你是怎么處理的,分享一下你的經(jīng)驗(yàn)和教訓(xùn)。
- 前面說(shuō)過(guò)了,先寫通用的大家都支持的代碼,遇到不同的代碼,判斷瀏覽器類型,然后選擇對(duì)應(yīng)代碼就可以了。(感覺(jué)很多設(shè)計(jì)模式都可以用上了)
5、HTML5已經(jīng)開始支持移動(dòng)設(shè)備,而移動(dòng)設(shè)備APP也是一種趨勢(shì),如何讓自己的應(yīng)用能以最小的代價(jià)兼容各種移動(dòng)平臺(tái)?HTML5是唯一的選擇嗎?
- HTML5是一個(gè)選擇,但是HTML5也有前端碎片化的通病
- 其他的選擇當(dāng)然有,現(xiàn)在基于跨平臺(tái)的移動(dòng)前端開發(fā)技術(shù)還是有的,比如Qt/Xamarin等,當(dāng)然這些不是基于web的前端技術(shù),呵呵
6、大家還有其它的關(guān)于前端技術(shù)的話題可以自由發(fā)揮。
前端技術(shù),由于平臺(tái)的差異性,各個(gè)廠家瀏覽器特性的差異性,想做到完全兼容確實(shí)很困難。而且,可以預(yù)見(jiàn),未來(lái)一樣會(huì)出現(xiàn)多元化的前端技術(shù),不會(huì)是HTML5一統(tǒng)天下,多元化一直是計(jì)算機(jī)世界/互聯(lián)網(wǎng)世界的一個(gè)特點(diǎn)。還有同學(xué)說(shuō),怕遇到兼容性問(wèn)題可以做后端啊,但是你以為后端就沒(méi)有兼容性問(wèn)題了嘛?gcc編譯器每個(gè)版本之間還完全一樣呢,不過(guò)是兼容性問(wèn)題稍微少一點(diǎn)而已 ... |
評(píng)分
-
查看全部評(píng)分
|