99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

移動(dòng)互聯(lián)網(wǎng)給前端工程師帶來了什么

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-09-07 09:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

支付寶十周年推出了一個(gè)新產(chǎn)品:支付寶的十年賬單,我也趕個(gè)時(shí)髦查看了一下我的支付寶十年賬單,哎,感慨自己真是太屌絲了,不過這只是說明我使用淘寶少了,當(dāng)我大規(guī)模網(wǎng)上購物時(shí)候,我很討厭慢速的快遞,所以我大部分消費(fèi)都貢獻(xiàn)給了像京東這樣具有火箭般快遞速度的電子商城了。不過在支付寶十年賬單里,有個(gè)統(tǒng)計(jì)數(shù)據(jù)引起了我的危機(jī)意識(shí),在中國一些偏遠(yuǎn)或者是經(jīng)濟(jì)欠發(fā)達(dá)的省份,電子購物在居民的全部消費(fèi)里的占比比發(fā)達(dá)地區(qū)高多了,而這個(gè)的助推劑居然是移動(dòng)互聯(lián)網(wǎng)在中國的普及,在中國使用智能手機(jī)和平板電腦購物的人們已經(jīng)遠(yuǎn)超使用PC電腦的人們,這點(diǎn)不管是經(jīng)濟(jì)欠發(fā)達(dá)地區(qū)還是經(jīng)濟(jì)發(fā)達(dá)地區(qū)都是如此,而且全世界移動(dòng)互聯(lián)網(wǎng)發(fā)展最好的國家就是中國,這點(diǎn)連美國都不如。

我最近一段時(shí)間又把精力放在了web前端技術(shù)的研究上,本來打算這個(gè)周末再接著這個(gè)主題寫幾篇文章,但是看到支付寶的統(tǒng)計(jì)數(shù)據(jù),一種末日般的危機(jī)感悠然而生,我是不是在研究一個(gè)即將過時(shí),就算不是過時(shí),是不是已經(jīng)快到發(fā)展瓶頸的技術(shù)呢?我如果不做改變,會(huì)不會(huì)在不久的時(shí)間后,我的web前端技術(shù)會(huì)喪失優(yōu)勢呢?因此我今天想要分析下移動(dòng)互聯(lián)網(wǎng)對(duì)web前端技術(shù)的影響。

在移動(dòng)互聯(lián)網(wǎng)出現(xiàn)之前,互聯(lián)網(wǎng)系統(tǒng)都是建立在Browser/Server的架構(gòu)之上,即我們常說的B/S架構(gòu),B/S架構(gòu)其實(shí)是Client/Server即C/S架構(gòu)的一個(gè)子集,而到了移動(dòng)互聯(lián)網(wǎng)時(shí)代,大部分的傳統(tǒng)互聯(lián)網(wǎng)產(chǎn)品都需要我們?nèi)グ惭b一個(gè)APP即一個(gè)客戶端才能使用,這個(gè)客戶端相當(dāng)于PC電腦上的桌面軟件,而每個(gè)客戶端都是某家公司專門為自己定制的,移動(dòng)互聯(lián)網(wǎng)的web應(yīng)用蛻變成了一個(gè)標(biāo)準(zhǔn)的C/S架構(gòu)。說心里話這個(gè)現(xiàn)象的轉(zhuǎn)變讓我很詫異,傳統(tǒng)的PC也是可以裝客戶端,為啥C/S系統(tǒng)在PC端沒有流行起來,卻在移動(dòng)互聯(lián)網(wǎng)下流行了起來,更詫異的是,移動(dòng)設(shè)備和個(gè)人電腦一樣也都是默認(rèn)裝有一個(gè)免費(fèi)的瀏覽器,為啥移動(dòng)端的瀏覽器在很多應(yīng)用里都是靠邊站,人們更加傾向于先麻煩自己一下,下載安裝個(gè)客戶端APP呢?

我今天和一位正在做移動(dòng)互聯(lián)網(wǎng)開發(fā)的朋友聊了下天,我提出了自己的疑問,在一系列扯蛋以后,我似乎有了上面問題的部分答案,我總結(jié)了下,大致如下:

移動(dòng)設(shè)備上網(wǎng)雖然可以使用WiFi,但是很多人在所謂關(guān)鍵時(shí)刻使用移動(dòng)設(shè)備上網(wǎng)時(shí)候都是在2G、3G、4G移動(dòng)網(wǎng)絡(luò)下進(jìn)行的,一般情況下這些網(wǎng)絡(luò)的速度和一般寬帶相比還是太慢,更重要的是這些網(wǎng)絡(luò)的資費(fèi)要貴的多,很多人一個(gè)月使用這些網(wǎng)絡(luò)上網(wǎng)的資費(fèi)比寬帶貴很多,但是享受的流量卻常常不足一般寬帶的10%,在使用移動(dòng)網(wǎng)絡(luò)的背景下移動(dòng)端的B/S網(wǎng)站往往會(huì)加載很慢,流量消耗很大,不管是用戶體驗(yàn)還是經(jīng)濟(jì)效率考慮都會(huì)影響商家產(chǎn)品的競爭力,所以商家需要一種手段改進(jìn)這種局面。

移動(dòng)設(shè)備本身的CPU、內(nèi)存以及存儲(chǔ)設(shè)備和PC電腦相比,差距還是很大,同樣的一個(gè)應(yīng)用在PC電腦上處理假如需要10毫秒,換到移動(dòng)設(shè)備上可能會(huì)需要幾倍的處理時(shí)間,而互聯(lián)網(wǎng)上的應(yīng)用響應(yīng)時(shí)間太慢會(huì)導(dǎo)致大量客戶的丟失,商家為了讓自己應(yīng)用響應(yīng)更快,自然就會(huì)考慮自己定制客戶端,這個(gè)客戶端會(huì)根據(jù)移動(dòng)設(shè)備特點(diǎn)做相應(yīng)的性能優(yōu)化,使應(yīng)用的響應(yīng)速度更快。

移動(dòng)設(shè)備本身的安全機(jī)制沒有PC電腦成熟和完善,移動(dòng)端的瀏覽器和PC電腦的瀏覽器相比,就如同一部簡配閹割的汽車,它遠(yuǎn)遠(yuǎn)沒有PC電腦上的瀏覽器那么強(qiáng)大,特別是一些瀏覽器的安全機(jī)制,移動(dòng)端瀏覽器是遠(yuǎn)不如PC端瀏覽器,這點(diǎn)在智能手機(jī)上非常明顯,例如我們?cè)赑C電腦上購物,到了支付環(huán)節(jié),不管支付工具使用的是各家銀行的網(wǎng)銀還是第三方支付系統(tǒng),都會(huì)在輸入銀行卡密碼,信用卡CVN2時(shí)候使用密碼控件(密碼控件解釋:我們使用網(wǎng)銀時(shí)候如果不安裝密碼控件,密碼輸入框上會(huì)提示我們下載密碼控件,等控件安裝好了后,文本輸入框就會(huì)顯示出來,其實(shí)這時(shí)候的密碼輸入框已經(jīng)不是傳統(tǒng)html里的input密碼輸入框了,而是使用像C這樣的語言編寫的瀏覽器插件模擬的密碼輸入框,我們?cè)谶@樣的密碼框里填寫密碼是非常安全,基本上很難被人截獲),密碼控件會(huì)保證關(guān)鍵的密碼信息的安全,但是這點(diǎn)到了移動(dòng)端瀏覽器就很難做到,我們基本很少見到在手機(jī)瀏覽器里提示我們安裝密碼控件的現(xiàn)象,就算有,瀏覽器也會(huì)調(diào)出相應(yīng)的APP幫助我們完成支付操作,究其根本原因還是移動(dòng)設(shè)備瀏覽器對(duì)這類技術(shù)支持不夠。

在瀏覽器里開發(fā)一套漂亮、用戶體驗(yàn)好、安全的網(wǎng)站還是很有難度的,不過技術(shù)難度都是內(nèi)部問題,對(duì)外都不是問題,問題的關(guān)鍵是分辨率的問題,移動(dòng)設(shè)備屏幕有大有小,這種差異和PC電腦相比簡直是恐怖,而瀏覽器的布局技術(shù)往往又是跟分辨率有著千絲萬縷的關(guān)系,其中最致命的一個(gè)問題就是有的移動(dòng)設(shè)備的屏幕大點(diǎn),它也許可以在一行里顯示出三個(gè)元素,但是到了一個(gè)屏幕小的手機(jī)上一行顯示三個(gè)元素就會(huì)使得頁面嚴(yán)重變形,而瀏覽器的排版技術(shù)行row是一個(gè)基本邊界,元素如果碰到換行顯示就會(huì)打亂整個(gè)布局系統(tǒng),所以在移動(dòng)端瀏覽器開發(fā)一個(gè)能適應(yīng)所有瀏覽器的網(wǎng)頁難度非常之高。此外能在PC電腦上顯示的網(wǎng)頁也許可以適應(yīng)像pad上的瀏覽器,但是到了智能手機(jī)上,這個(gè)網(wǎng)頁就不得不重新開發(fā),重新開發(fā)倒無所謂,最要命的是就算重新開發(fā),小屏幕的網(wǎng)頁很難囊括原來PC瀏覽器網(wǎng)頁所有功能,這和移動(dòng)瀏覽器功能和屏幕太小所致,這樣的結(jié)果會(huì)導(dǎo)致商戶很難將用戶引流到移動(dòng)端,從而喪失了移動(dòng)互聯(lián)網(wǎng)的先機(jī)。

瀏覽器的布局技術(shù)在移動(dòng)端瀏覽器技術(shù)普及上的作用是很關(guān)鍵的,在PC上開發(fā)網(wǎng)頁我們常把布局技術(shù)稱之為html+css技術(shù),其實(shí)在網(wǎng)頁排版里圖片的作用是非常重要,而針對(duì)互聯(lián)網(wǎng)的web網(wǎng)站上圖片的份額更加多,而且常常會(huì)及時(shí)更新,圖片對(duì)于網(wǎng)絡(luò)流量昂貴的移動(dòng)網(wǎng)絡(luò)而言就是人民幣,而瀏覽器是個(gè)公共的平臺(tái),雖然我們有很多技術(shù)手段可以讓很多圖片緩存起來,但是平時(shí)運(yùn)用里重復(fù)加載圖片還是家常便飯,而這樣的流量消耗就是在浪費(fèi)人民幣,這點(diǎn)也同樣會(huì)成為企業(yè)競爭的一個(gè)砝碼,所以使用APP會(huì)對(duì)老百姓更加實(shí)惠,也能讓商家表達(dá)更多對(duì)用戶的體貼。

移動(dòng)設(shè)備由于屏幕較小,因此制作APP界面設(shè)計(jì)的復(fù)雜度比傳統(tǒng)PC電腦要小,這其實(shí)降低了一定的開發(fā)難度,而且APP開發(fā)的界面效果還是比瀏覽器界面要好。此外桌面軟件開發(fā)天然就是響應(yīng)式驅(qū)動(dòng),交互性比網(wǎng)頁更好,而且開發(fā)響應(yīng)式應(yīng)用的難度更低,所以使用APP開發(fā)的應(yīng)用比傳統(tǒng)網(wǎng)頁更加吸引人。

由以上6點(diǎn)我們可以知道了,用戶在移動(dòng)設(shè)備上忽視瀏覽器的原因還是移動(dòng)瀏覽器的給予用戶的產(chǎn)品沒有APP好,孰好孰壞老百姓的心里都是雪亮雪亮的,老百姓是很聰明的,忽悠不到他們的。

在中國移動(dòng)互聯(lián)網(wǎng)發(fā)展迅速,甚至已經(jīng)開始擠壓PC端瀏覽器的份額,而移動(dòng)設(shè)備是廣大用戶的首選,那么這是不是說明web前端技術(shù)到了移動(dòng)互聯(lián)網(wǎng)領(lǐng)域就會(huì)沒落了?為了說明這個(gè)問題,我想談?wù)劄樯对赑C電腦上我們會(huì)選擇瀏覽器開發(fā)商家應(yīng)用,而不是為商家專門開發(fā)個(gè)客戶端軟件呢?很多人說這點(diǎn)是商家出于成本考慮推動(dòng)的,因?yàn)槭澜缟?a href="http://www.socialnewsupdate.com/v/tag/527/" target="_blank">操作系統(tǒng)很多,如果要做客戶端就得要為每個(gè)操作系統(tǒng)開發(fā)一個(gè)客戶端,就算是同一個(gè)操作系統(tǒng),系統(tǒng)升級(jí)后客戶端就得有相應(yīng)的更新,就算操作系統(tǒng)沒有升級(jí),出于安全考慮很多客戶端也會(huì)經(jīng)常升級(jí),而瀏覽器則不同,開發(fā)一套網(wǎng)站就可以打遍天下無敵手,可以不用自己考慮客戶端升級(jí)的問題,其實(shí)用戶怕麻煩本性也幫助了這個(gè)潮流的發(fā)展。那么這個(gè)理由在移動(dòng)互聯(lián)網(wǎng)里還有效嗎?

我們看到的現(xiàn)象得到的答案似乎是無效的,因?yàn)橐苿?dòng)互聯(lián)網(wǎng)下瀏覽器已經(jīng)沒落了,更多人會(huì)選擇APP而非移動(dòng)設(shè)備的瀏覽器,但是PC端瀏覽器大行其道的理由放到移動(dòng)設(shè)備上,仔細(xì)掂量下還是很有市場的。

當(dāng)今世界智能手機(jī)和平板電腦上流行兩大操作系統(tǒng):蘋果公司的IOS和谷歌的android,雖然Android是一個(gè)獨(dú)立的操作系統(tǒng),但是到了各個(gè)具體手機(jī)生產(chǎn)廠商,其手機(jī)上所使用android都會(huì)被或多或少的改寫,甚至有的公司能將其改的面目全非,在移動(dòng)設(shè)備上操作系統(tǒng)的差異處理問題比PC操作系統(tǒng)要嚴(yán)重的多,畢竟個(gè)人PC電腦上微軟的windows操作系統(tǒng)還是一家獨(dú)大,我們只要滿足了windows的客戶端,至少在中國就能滿足90%以上的用戶需求了。APP就和PC電腦上的桌面軟件一樣,開發(fā)它需要調(diào)用大量的操作系統(tǒng)底層API,所以我們想讓自己的應(yīng)用覆蓋到大多數(shù)用戶就不得不為每個(gè)操作系統(tǒng)建立一個(gè)團(tuán)隊(duì),而這些團(tuán)隊(duì)開發(fā)同樣的業(yè)務(wù)功能,只不過是使用的技術(shù)不同而已,結(jié)果會(huì)使得一個(gè)業(yè)務(wù)系統(tǒng)擁有多個(gè)不同版本,造成了人為的系統(tǒng)異構(gòu)性,這種異構(gòu)對(duì)系統(tǒng)的運(yùn)維也產(chǎn)生了很大的影響,不同的系統(tǒng)運(yùn)維需要彼此獨(dú)立的運(yùn)維團(tuán)隊(duì),這樣就增加了企業(yè)的成本壓力。

移動(dòng)設(shè)備并沒有拋棄瀏覽器,瀏覽器的html、css以及javascript技術(shù)不管是那種移動(dòng)操作系統(tǒng)上都是高度的一致,這種一致性甚至超過了PC電腦上不同廠商瀏覽器(移動(dòng)瀏覽器基本都是webkit內(nèi)核)的一致性,通過瀏覽器相關(guān)的開發(fā)技術(shù)消除平臺(tái)的差異在移動(dòng)端任然是可取的,而且現(xiàn)實(shí)中移動(dòng)端的平臺(tái)差異性問題的嚴(yán)重程度其實(shí)已經(jīng)遠(yuǎn)遠(yuǎn)超出了PC平臺(tái),其對(duì)公司造成的成本壓力也是不可言喻的,但是移動(dòng)設(shè)備上瀏覽器的局限性是一個(gè)很難跨越的鴻溝,那我們有辦法解決這個(gè)問題,答案還真有,移動(dòng)端操作系統(tǒng)將瀏覽器底層的接口都做成了API,我們很容易將APP和瀏覽器技術(shù)結(jié)合在一起,因此時(shí)下出現(xiàn)了phoneGap技術(shù),phoneGap技術(shù)核心就是解決不同移動(dòng)操作系統(tǒng)的差異性,使用phoneGap的技術(shù)人員可以很少去考慮操作系統(tǒng)的兼容性問題,而只用關(guān)心瀏覽器技術(shù)就可以開發(fā)出一套在IOS和android都能正常運(yùn)行的APP,這套技術(shù)對(duì)于剛剛創(chuàng)業(yè)的小規(guī)模的互聯(lián)網(wǎng)公司非常有現(xiàn)實(shí)意義,可惜為了兼容不同操作系統(tǒng),卻犧牲了應(yīng)用的性能。

對(duì)于有實(shí)力的大公司又該如何選擇了,大公司的成本壓力會(huì)比小公司小很多,但是高企的成本也是一種潛在的風(fēng)險(xiǎn),大公司面對(duì)這樣的問題,好的解決方案應(yīng)該是減少重復(fù)性勞動(dòng),減輕運(yùn)維壓力,其實(shí)時(shí)下大部分的APP都相當(dāng)于一個(gè)自制的瀏覽器,只不過這個(gè)瀏覽器是帶有公司自有的業(yè)務(wù),因此大公司的做法應(yīng)該是將APP開發(fā)和瀏覽器開發(fā)分離開來,APP開發(fā)主要職責(zé)是做個(gè)框架,不過這個(gè)框架相當(dāng)于新開發(fā)個(gè)瀏覽器,這點(diǎn)和java里SSH框架有一定區(qū)別,而業(yè)務(wù)開發(fā)人員可以只關(guān)心瀏覽器開發(fā)技術(shù),用瀏覽器技術(shù)完成業(yè)務(wù)開發(fā),至于到了業(yè)務(wù)運(yùn)行階段,主要是業(yè)務(wù)開發(fā)人員的事情,這樣就避免了建立重復(fù)開發(fā)的技術(shù)人員團(tuán)隊(duì)同時(shí)也達(dá)到了專業(yè)的人做專業(yè)的事情,運(yùn)維也變得簡單多了,系統(tǒng)穩(wěn)定性和健壯性也增強(qiáng)了,還有個(gè)最關(guān)鍵的好處那就是可以復(fù)用原來的客戶端開發(fā)的技術(shù)人員,這是減輕人力成本的一個(gè)重要手段。

由此說來,web前端在移動(dòng)互聯(lián)網(wǎng)領(lǐng)域并沒有沒落,而且移動(dòng)互聯(lián)網(wǎng)會(huì)給web前端帶來大發(fā)展的機(jī)遇。

在移動(dòng)互聯(lián)網(wǎng)時(shí)代web前端技術(shù)會(huì)變得越來越重要,比以前任何時(shí)候都要重要。但是移動(dòng)互聯(lián)網(wǎng)對(duì)web前端開發(fā)帶來了一個(gè)弊病,這個(gè)弊病就是web前端技術(shù)或許會(huì)變得越來越復(fù)雜。

首先不管哪個(gè)移動(dòng)端操作系統(tǒng),瀏覽器的內(nèi)核技術(shù)達(dá)到了前所未有的統(tǒng)一即大部分都是使用webkit內(nèi)核,由于移動(dòng)互聯(lián)網(wǎng)沒有pc電腦的歷史負(fù)擔(dān),移動(dòng)端的瀏覽器一開始就支持了最新的html5,html5是顛覆性的技術(shù),傳統(tǒng)的web前端開發(fā)人員要重新學(xué)習(xí)很多新的知識(shí)才能掌握它。

Html5技術(shù)提升了瀏覽器做富客戶端開發(fā)的能力,這種提升不是量的變化而是質(zhì)的變化,html5讓web前端在整個(gè)web應(yīng)用里的作用提升到了前所未有的高度,富客戶端將會(huì)更加富有,我們?cè)谝苿?dòng)互聯(lián)網(wǎng)里開發(fā)web前端不能在那么隨意了,而是需要將web前端技術(shù)更加框架化和工程化,那么javascriptMVC技術(shù)會(huì)應(yīng)用更加廣泛,web前后端分離技術(shù)也將更加被人重視,到時(shí)如果有人再說web前端技術(shù)是一個(gè)玩具技術(shù),那么這人就等于還生活在互聯(lián)網(wǎng)的原始社會(huì)了。

移動(dòng)互聯(lián)網(wǎng)對(duì)web前端技術(shù)影響或許還會(huì)導(dǎo)致一個(gè)新的職業(yè)方向的出現(xiàn),這個(gè)方向就是客戶端工程師,雖然移動(dòng)互聯(lián)網(wǎng)發(fā)展迅速,但是移動(dòng)互聯(lián)網(wǎng)想完全取代PC電腦,這種想法還是非常不現(xiàn)實(shí)的,所以在很長時(shí)間里傳統(tǒng)的互聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)會(huì)并行發(fā)展,只不過我們?cè)偃プ龌ヂ?lián)網(wǎng)系統(tǒng)客戶端這塊開發(fā)不僅只要求滿足PC瀏覽器了,也許公司希望能找到一個(gè)能幫忙解決所有客戶端的工程師,當(dāng)然這種客戶端工程師應(yīng)該會(huì)站在web前端技術(shù)之上來消除不過客戶端的差異性,不過到了解決移動(dòng)互聯(lián)網(wǎng)客戶端問題時(shí)候,客戶端工程師或多或少都要了解到不同操作系統(tǒng)APP開發(fā)技術(shù)的細(xì)節(jié),當(dāng)web前端工程師進(jìn)化為客戶端工程師后,對(duì)那種web前端工程師和美工等同的偏見估計(jì)會(huì)更加沒有市場,新型的客戶端工程師需要掌握的技術(shù)門類更多,技術(shù)會(huì)更加全面,在加以富客戶端在web應(yīng)用的重要度提升,客戶端工程師也許在整個(gè)互聯(lián)網(wǎng)行業(yè)會(huì)更加吃香。

移動(dòng)互聯(lián)網(wǎng)的大發(fā)展導(dǎo)致當(dāng)今這個(gè)時(shí)代做一個(gè)大型網(wǎng)站的成本越來越高了,因?yàn)槲覀儾坏貌蝗M足更多的客戶端。回到傳統(tǒng)的PC瀏覽器技術(shù),作為一名前端工程師我也感受到最近幾年傳統(tǒng)的PC瀏覽器技術(shù)也在以前所未有的速度發(fā)展,就連惡心的微軟公司開發(fā)的ie瀏覽器也在發(fā)生著巨大的變化,版本發(fā)布更加頻繁了。html5剛出來時(shí)候有很多朋友說這個(gè)東西不知道猴年馬月會(huì)流行,不要做深入學(xué)習(xí)了,這個(gè)說法發(fā)生在兩年前,但是時(shí)下html5技術(shù)開始以前所未有的速度普及,很多人可能認(rèn)為這是瀏覽器廠商的驅(qū)動(dòng)的,但是我確認(rèn)為根本原因還是移動(dòng)互聯(lián)網(wǎng)上html5的普及間接影響到了PC瀏覽器的發(fā)展,移動(dòng)互聯(lián)網(wǎng)的普及擠壓了傳統(tǒng)PC電腦的部分生存空間,迫使那些原來依仗自己壟斷地位不愿改變的廠商發(fā)生了變化。

移動(dòng)互聯(lián)網(wǎng)的普及對(duì)互聯(lián)網(wǎng)服務(wù)端系統(tǒng)架構(gòu)也會(huì)產(chǎn)生很大的影響,對(duì)于這個(gè)影響的思考還是源自于有一天和一個(gè)即將畢業(yè)的大學(xué)生的聊天,那天他問我自己到底是做web前端開發(fā)還是做移動(dòng)開發(fā)好,當(dāng)時(shí)我們簡單聊了下兩種技術(shù)的差異,他覺得客戶端技術(shù)之間的差異太大,更新太快,他似乎對(duì)這種不可控性感到有點(diǎn)害怕,如是他又問我:移動(dòng)端對(duì)應(yīng)的服務(wù)端技術(shù)和PC瀏覽器所對(duì)應(yīng)的服務(wù)端技術(shù)是不是一樣的,我的回答當(dāng)然是一樣的,所以最后他覺得自己還是從事服務(wù)端開發(fā)比較好。

當(dāng)我寫這篇文章時(shí)候讓我想起了這次聊天,我有個(gè)很大的疑問那就是客戶端的不同會(huì)對(duì)服務(wù)端的技術(shù)實(shí)現(xiàn)產(chǎn)生影響嗎?把這個(gè)疑問放的再大點(diǎn),客戶端的不同會(huì)對(duì)我們整個(gè)web系統(tǒng)架構(gòu),不管是web前端架構(gòu)還是web服務(wù)端架構(gòu)會(huì)產(chǎn)生重大影響嗎?

我前面說到最棒的APP應(yīng)該是APP技術(shù)和瀏覽器技術(shù)結(jié)合,但是APP和服務(wù)端的數(shù)據(jù)交互真的可以全部有瀏覽器技術(shù)完成嗎?如果某些請(qǐng)求不得不用socket完成,那么這種交互模式就和傳統(tǒng)PC的web的服務(wù)端發(fā)生了變化,假如這種情況很多,那么我們就不得不單獨(dú)開發(fā)一套針對(duì)移動(dòng)端的服務(wù)端程序。就算上面的問題不是問題,小屏幕和大屏幕所能容納的信息量是不同的,在PC上有些交互一個(gè)http請(qǐng)求就可以完成,但是到了移動(dòng)端可能不得不拆分成多個(gè)請(qǐng)求協(xié)同完成,這樣的差異也會(huì)導(dǎo)致PC端的服務(wù)端不能復(fù)用,如果這樣的差異很大,我們還是不得不重新開發(fā)一套服務(wù)端,這么說來就算服務(wù)端技術(shù)線路一致,例如都是使用我十分擅長的java,但現(xiàn)實(shí)我們還是不得不做很多重復(fù)勞動(dòng),如果沒有移動(dòng)互聯(lián)網(wǎng)時(shí)候,領(lǐng)導(dǎo)讓我們開發(fā)一個(gè)新網(wǎng)站給我們兩個(gè)月時(shí)間就能完成,那么現(xiàn)在開發(fā)一個(gè)新網(wǎng)站,人力資源不變的前提下,兩個(gè)月我們能完成任務(wù)嗎?到時(shí)這樣的結(jié)果一定是老板和員工一起痛苦了。假如我們真的為不同客戶端對(duì)應(yīng)開發(fā)一套新的服務(wù)端程序,這做法就好比洪水來了我們趕緊修河堤,洪水越大,我們的河堤就做的越高,最后大河成了天河,那天河堤出了點(diǎn)紕漏很有可能大堤潰壩,后果非常嚴(yán)重,治理洪水最好的解決方案應(yīng)該是我們?nèi)绾问鑼?dǎo)洪水,那么在軟件領(lǐng)域這種疏導(dǎo)最后是重新審視我們網(wǎng)站系統(tǒng)的整體架構(gòu),在架構(gòu)設(shè)計(jì)層面就考慮到方方面面,從架構(gòu)上重構(gòu)系統(tǒng)往往會(huì)達(dá)到事半功倍的效果。

其實(shí)從服務(wù)端角度而言,按MVC架構(gòu)思想考慮,客戶端不同影響到的是V層和C層即視圖層和控制層,對(duì)于服務(wù)端而言就是控制層了,那么要減輕服務(wù)端改造壓力,我們必須要將服務(wù)端的控制層和模型層解耦的更加徹底,最好的方式就是采用分布式技術(shù),控制層和模型層變成兩個(gè)獨(dú)立的系統(tǒng),兩個(gè)系統(tǒng)通訊就采用我以前講到的高效遠(yuǎn)程調(diào)用的方式,遠(yuǎn)程調(diào)用使用起來和本地調(diào)用差不多,這樣也減輕了服務(wù)端技術(shù)變遷的壓力。服務(wù)端的控制層和客戶端的關(guān)系太過密切,雖然控制層聽起來很高大上,但在做開發(fā)時(shí)候控制層的發(fā)言權(quán)實(shí)在是小的可憐,所以這里我想先講講視圖層即客戶端的改變,不管移動(dòng)端是怎樣的APP,也不管開發(fā)移動(dòng)APP的技術(shù)有多好,我相信移動(dòng)端的APP一定是一個(gè)強(qiáng)有力的富客戶端,這點(diǎn)到了PC上的瀏覽器客戶端就有很大的不同,雖然當(dāng)今ajax技術(shù)深入人心,但是想在pc瀏覽器上寫出強(qiáng)大的富客戶端是有一定難度的,而且現(xiàn)實(shí)下很多pc瀏覽器端的程序都是非常不健壯和書寫隨意,這主要web前端技術(shù)精通門檻較高,還有大量小公司對(duì)web前端技術(shù)的重視度不夠所致,這樣的現(xiàn)狀就更不要說讓自己的web前端達(dá)到j(luò)avascriptMVC的程度,所以我覺得我們要對(duì)pc瀏覽器端的程序進(jìn)行重構(gòu),將pc端的前端做成javascriptMVC模式,那么javascriptMVC的客戶端就變成了SOA里的一個(gè)服務(wù)了,它和控制層的交互就可以像SOA架構(gòu)里不同系統(tǒng)調(diào)用那樣,定義好服務(wù)接口報(bào)文格式即可,這種做法也非常適合APP,因?yàn)锳PP開發(fā)時(shí)候也只是在需要服務(wù)端數(shù)據(jù)時(shí)候才會(huì)交互,而大部分頁面展示都可以在客戶端本地完成,例如我們可以讓所有的服務(wù)端數(shù)據(jù)交互都已json格式進(jìn)行,那么如果客戶端請(qǐng)求數(shù)據(jù)有變化我們頂多就是增加個(gè)新接口就行,PC端能被復(fù)用到移動(dòng)端的接口還是可以照用不誤。

我相信web前端技術(shù)不會(huì)沒落的,它只會(huì)越來越重要,如果有一天互聯(lián)網(wǎng)開發(fā)里真的出現(xiàn)了客戶端工程師,那也是web前端技術(shù)的升華,web前端會(huì)越來越專業(yè),要求的技能會(huì)越來越高,記得我4年前我打算往web前端發(fā)展時(shí)候,我曾經(jīng)碰到很多技術(shù)難題,當(dāng)我找到解答時(shí)候發(fā)現(xiàn)很多解答卻帶來了更多疑問,疑問源自解答里依賴于瀏覽器內(nèi)核的解釋,如是我在一些技術(shù)群里詢問相關(guān)瀏覽器內(nèi)核的資料,某個(gè)群里有位朋友跟我這么說研究瀏覽器內(nèi)核有啥用,那是老美做的事情,在中國研究這個(gè)一點(diǎn)前途都沒有,只要會(huì)用就行了,“不要沒事找抽,自找麻煩”,引號(hào)差不多是原話了,而前不久我在京東上買到一本講解webkit內(nèi)核的書籍,為了以后看懂他,我最近一段時(shí)間重溫了很多web前端的技術(shù),看看現(xiàn)在的招聘,很多公司都開始大規(guī)模招聘了解瀏覽器內(nèi)核的人才,這件事情讓我有點(diǎn)感慨,學(xué)習(xí)雖然最終都是為了達(dá)到某種功利心,但是要學(xué)好東西,一定得要報(bào)著解決自己疑問的目的,不畏艱險(xiǎn),而不要過多去考慮現(xiàn)在這個(gè)有用如否。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1590

    瀏覽量

    69480
  • 互聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    55

    文章

    11249

    瀏覽量

    106381
  • 前端
    +關(guān)注

    關(guān)注

    1

    文章

    214

    瀏覽量

    18277
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    聯(lián)網(wǎng)工程師為什么要學(xué)Linux?

    聯(lián)網(wǎng)工程師需要掌握Linux的主要原因可以從技術(shù)生態(tài)、開發(fā)需求、行業(yè)應(yīng)用及就業(yè)競爭力四個(gè)角度來分析: 一、技術(shù)生態(tài)與行業(yè)適配性 1)嵌入式開發(fā)的主流平臺(tái) 物聯(lián)網(wǎng)設(shè)備往往基于嵌入式系統(tǒng)開發(fā)
    發(fā)表于 05-26 10:32

    【華秋DFM】V4.6正式上線:工程師的PCB設(shè)計(jì)“好搭子”來了!

    ,如同工程師的設(shè)計(jì)進(jìn)行了一次全方位的 “體檢”,能夠及時(shí)發(fā)現(xiàn)潛在的問題,并給出詳細(xì)的提示和建議。這有助于工程師在設(shè)計(jì)初期就將問題扼殺在搖籃中,降低后期修改的成本和風(fēng)險(xiǎn),提高設(shè)計(jì)的整體質(zhì)量和可制造性
    發(fā)表于 05-22 16:07

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚(yáng)興科技 #搞笑

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年04月25日 17:15:37

    華為助力中國移動(dòng)全面升級(jí)“九州”算力互聯(lián)網(wǎng)

    在中國移動(dòng)云智算大會(huì)期間,以“智算啟新,安全筑基“為主題的智算基礎(chǔ)設(shè)施及安全峰會(huì)成功舉辦。會(huì)上,中國移動(dòng)聯(lián)合華為等重磅發(fā)布了《“九州”算力互聯(lián)網(wǎng)(MATRIXES)“AI+”時(shí)代目標(biāo)架構(gòu)白皮書》,標(biāo)志著中國
    的頭像 發(fā)表于 04-14 16:46 ?581次閱讀

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚(yáng)興科技

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年03月25日 18:46:59

    一招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發(fā)布于 :2025年03月25日 17:30:51

    因?yàn)橛⑽腄atasheet,工程師又吵起來了

    去年9月,EEWorld在《工程師賣中國芯片,為什么不做中文資料》一文中反映了工程師的一大訴求——芯片產(chǎn)品的中文手冊(cè)與資料。最近,工程師又因?yàn)樾酒惶峁┲形奈臋n吵起
    的頭像 發(fā)表于 02-05 17:02 ?11次閱讀
    因?yàn)橛⑽腄atasheet,<b class='flag-5'>工程師</b>又吵起<b class='flag-5'>來了</b>

    互聯(lián)網(wǎng)是什么意思

    互聯(lián)網(wǎng),通常稱為云計(jì)算,是一種基于互聯(lián)網(wǎng)的計(jì)算模式,它允許用戶通過網(wǎng)絡(luò)訪問和使用遠(yuǎn)程服務(wù)器上的存儲(chǔ)、管理和處理數(shù)據(jù)的資源。主機(jī)推薦小編為您整理發(fā)布云互聯(lián)網(wǎng)的詳細(xì)解釋。
    的頭像 發(fā)表于 01-07 09:50 ?604次閱讀

    穿越地域限制:海外動(dòng)態(tài)IP如何重塑互聯(lián)網(wǎng)體驗(yàn)與機(jī)遇

    海外動(dòng)態(tài)IP在重塑互聯(lián)網(wǎng)體驗(yàn)與機(jī)遇方面發(fā)揮著重要作用,它穿越地域限制,為用戶和企業(yè)帶來了全新的網(wǎng)絡(luò)訪問方式和更廣闊的市場空間。
    的頭像 發(fā)表于 09-29 07:30 ?678次閱讀

    正是拼的年紀(jì)|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02