前端的水有多深你造嗎?

2023-06-08    分類: 網(wǎng)站建設(shè)

但凡從事互聯(lián)網(wǎng)的人基本都會(huì)寫幾行 html,用過 Word 的人用 Dreamweaver 也能做出規(guī)整的頁面,所以大部分人會(huì)很自然地認(rèn)為“前端開發(fā)沒什么技術(shù)含量,so easy”。當(dāng)然從業(yè)者也有很多疑惑:做前端頁面實(shí)現(xiàn),沒問題;兼容性,也還好;圖片集成,貌似也還行……還能有什么問題?瓶頸啊、天花板啊、轉(zhuǎn)行啊、出路啊、前景啊就在從業(yè)者中廣泛討論。是不是真的沒什么問題了呢?頁面開發(fā)還有哪些要求,還要做些什么,這里面的水到底有多深呢

在不同的時(shí)期對(duì)前端的看法似乎是不同的。在互聯(lián)網(wǎng)早期的時(shí)候,小車還是比房子貴的,燒餅和粉絲還只是用來吃的,菊花還只是用來泡茶的。那時(shí)的頁面設(shè)計(jì)風(fēng)格相對(duì)單一,對(duì)應(yīng)的頁面需求也比較簡(jiǎn)單,并且當(dāng)時(shí)的瀏覽器也基本是 IE6 的天下,javascript 也只是網(wǎng)頁特效的代名詞,HTML 頁面本身沒有引起太多人的關(guān)注,似乎只要能用 table 加 css 輔助把圖片定好位,把頁面內(nèi)容預(yù)留好就 OK 了,并且這種觀念存在了很長一段時(shí)間。隨著頁面內(nèi)容的豐富,設(shè)計(jì)風(fēng)格的發(fā)展,交互復(fù)雜性的增加,AJAX 的應(yīng)用,瀏覽器的更新?lián)Q代,讓大家重新對(duì)基本的頁面重視起來。然后被廣泛討論的是瀏覽器的兼容性,css hack,是不是的罵一罵坑爹的IE6、7、8……,然后開始尋找出路。下面我們就從這個(gè)階段開始說起。

實(shí)現(xiàn)效果圖是基本的工作

把視覺稿通過頁面代碼的方式表現(xiàn)出來包含了兩個(gè)基本訴求:1.能夠真實(shí)反映視覺稿;2.能夠通過瀏覽器的兼容。這兩個(gè)訴求的達(dá)成需要我們有注重細(xì)節(jié)的態(tài)度和一定的頁面功底,但這就代表著我們可以勝任頁面開發(fā)的工作了嗎?不,這才剛剛開始!

與設(shè)計(jì)師的溝通和項(xiàng)目的參與

溝通很重要。先拋出幾個(gè)問題:我們有沒有和設(shè)計(jì)師探討過某些效果對(duì)低端瀏覽器渲染效率影響比較大?有沒有探討過部分效果可以用 css3實(shí)現(xiàn)從而使得結(jié)構(gòu)更加簡(jiǎn)潔清晰?前端頁面的開發(fā)面向用戶,編寫的代碼也直接作用在瀏覽器上,我們有義務(wù)對(duì)頁面的穩(wěn)定性和渲染效率負(fù)責(zé)。我們也經(jīng)常碰到項(xiàng)目在總體進(jìn)度壓力下導(dǎo)致的設(shè)計(jì)與前端開發(fā)同步進(jìn)行,這時(shí)更有必要盡量多地獲取項(xiàng)目信息,了解我們還要做些什么,這些可以幫助我們充分考慮重用和框架拓展。

良好的頁面結(jié)構(gòu)

頁面結(jié)構(gòu)的編寫好比蓋房的地基建設(shè),其好壞會(huì)直接影響到 CSS 代碼的質(zhì)量、js 開發(fā)、后臺(tái)開發(fā)還會(huì)影響到以后的頁面拓展和頁面調(diào)整。拿到視覺稿后,不要忙著動(dòng)手開始,多觀察思考。先分析布局,劃分框架,然后規(guī)劃結(jié)構(gòu),編寫代碼。特別在大型項(xiàng)目中,合理使用模塊化的開發(fā)不論從整體進(jìn)行還是拓展維護(hù)都有相當(dāng)大的好處。

關(guān)于 hack

很多同學(xué)在頁面開發(fā)時(shí)上網(wǎng)搜索多的就是 hack 了,是否我們完全要依賴 hack 來實(shí)現(xiàn)頁面兼容性,答案是否定的。大部分情況下可以通過變換思路調(diào)整 HTML 結(jié)構(gòu),或使用一些雖然無法解釋但相對(duì)安全的 css 或者使用兼容性較好的jquery來干掉 hack。誰都無法預(yù)計(jì)使用 hack 什么時(shí)候會(huì)讓我們?cè)砸粋€(gè)大跟頭。

優(yōu)美的代碼

現(xiàn)在很多 web 項(xiàng)目功能復(fù)雜,代碼規(guī)模也會(huì)變得很龐大,如何更好地進(jìn)行協(xié)同開發(fā)和維護(hù)是我們面臨的一個(gè)問題。需要考慮完善統(tǒng)一的規(guī)劃,還有要養(yǎng)成良好的代碼開發(fā)習(xí)慣才會(huì)在面臨各種情況時(shí)游刃有余。翻閱頁面代碼,看到合理的標(biāo)簽使用、良好的注釋、清晰的代碼結(jié)構(gòu)、用意準(zhǔn)確的 css 不僅猶如欣賞一個(gè)藝術(shù)品,更為下游開發(fā)和協(xié)同開發(fā)降低了不小的溝通成本,我們有什么理由不去這么做呢?舉個(gè)反面例子:div 濫用是現(xiàn)在比較典型的一個(gè)問題。數(shù)數(shù)看自己使用的標(biāo)簽有多少個(gè)呢?不同的語義都該使用對(duì)應(yīng)的標(biāo)簽代碼,特別是 HTML5 提供了更豐富的語義化標(biāo)簽。

保障效率

作為項(xiàng)目開發(fā)中比較靠前的一環(huán),頁面開發(fā)可能需要盡早完成為項(xiàng)目爭(zhēng)取時(shí)間,這就需要我們盡可能地提高效率?!肮び破涫拢叵壤淦鳌?,除了實(shí)戰(zhàn)經(jīng)驗(yàn)和代碼習(xí)慣的形成可以幫助我們提高效率外,想要提高對(duì)自己開發(fā)的進(jìn)度掌控能力,還有很多輔助工具可以幫助我們進(jìn)行頁面開發(fā)。比如使用 Less 或 Sass 可以幫助我們拓展和組織 CSS,大大提高 CSS 的編寫效率增加了可維護(hù)性。比如在是用sublime text2/3編輯器時(shí)可以通過其豐富的插件來提高開發(fā)效率。當(dāng)然了,還是得找一款適合你自己的編輯器。編輯器這么多,總有一款適合你。

針對(duì)服務(wù)器的優(yōu)化

頁面開發(fā)也需要了解服務(wù)器的優(yōu)化,盡量減小服務(wù)器負(fù)擔(dān)。比如 css sprite 就是一個(gè)典型減小服務(wù)器請(qǐng)求數(shù)的例子。對(duì) class 名進(jìn)行了混淆壓縮避免命名過長的冗余;應(yīng)用 base64 減少請(qǐng)求數(shù)量等等措施。這些都是綜合權(quán)衡的結(jié)果,需要考慮各個(gè)方面整體優(yōu)化。因?yàn)楫?dāng)頁面訪問量達(dá)到一定的數(shù)量級(jí)時(shí),再小的一點(diǎn)優(yōu)化都會(huì)達(dá)到可觀的效果

擁抱 HTM

這是一個(gè)充滿機(jī)會(huì)的時(shí)代,HTML5時(shí)代的來臨伴隨著移動(dòng)互聯(lián)網(wǎng)的興起創(chuàng)造了更大的機(jī)會(huì),還有太多的東西值得我們?nèi)W(xué)習(xí)去發(fā)現(xiàn)。 HTML5 提供了豐富的 JS API 接口,需要我們?nèi)パ芯?;CSS3的絢麗吸引了足夠多的眼球,需要我們?nèi)パ芯?;移?dòng)設(shè)備上如何開發(fā)更加適配的頁面,需要我們?nèi)パ芯俊?/p>

一大波javascript框架襲來。

jQuery、AngularJS、AngularJS2、Vue.js、React、Node.js

這些還不夠,一個(gè)合格的前端還需掌握這些知識(shí),并不要求所有,當(dāng)然多多益善啦。

主流的服務(wù)器端知識(shí)也是不少。

PHP、Python、Python3、java等等。

數(shù)據(jù)庫也得會(huì)一些,起碼的增刪改查得會(huì)吧!

SQL、Mysql

學(xué)得越多,發(fā)現(xiàn)自己不懂的也越多。哎,一入前端深似海?。?/p>

分享文章:前端的水有多深你造嗎?
URL地址:http://www.muchs.cn/news7/263857.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、域名注冊(cè)、網(wǎng)站設(shè)計(jì)移動(dòng)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營