国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

為什么學前端

開發 開發工具
技術演進一定是為了解決更復雜,更困難的問題;這意味著更大的工作量也意味著新職位的出現。所以新職位不是簡單的“分工”能籠統概括的。

[[183376]]

我的前后端分離態度

前后端分離是指技術架構上的分離而不是對“職位”的分離。可以隨便打開一個招聘網站看一下“前端工程師”的要求:

  • 熟悉HTML、CSS、JavaScript
  • 熟悉一個前端框架,Angularjs、ReactJS
  • 熟悉webpack之類的打包工具;git、svn之類的版本控制工具

深層次的分析上面的要求,一個不懂“軟件工程”基本理論的人能理解“前端框架”嗎?能知道模塊化、工程化嗎?一個不懂HTTP協議,分不清WebServer、瀏覽器、Session、Cookie的人能寫前端?一個聽不懂“隊列”、“棧”、“鏈表”的人能寫程序?從這些角度分析世界上只有一種職業“軟件工程師”,職位只不過是大家的工作側重點不同而已。

技術演進一定是為了解決更復雜,更困難的問題;這意味著更大的工作量也意味著新職位的出現。所以新職位不是簡單的“分工”能籠統概括的。

為什么會有專業前端

正如數據庫出現是為了“通用式數據共享”問題;URI出現是為了解決“統一資源標識”的問題,每個技術的出現都有它出現的時機。前端也不例外,我個人理解它的出現要解決核心問題是——前臺組件化或者工程化。

整個B/S系統的工作原理可以用一段話概括通過瀏覽器與服務器交互獲取HTML、CSS、JavaScript或者圖片(視頻),在瀏覽器中渲染HTML、CSS,執行JavaScript。服務器端只是生成上面三個元素;更確切的說——生成HTML。仔細想想是一件非常吃驚的事情——所以我們“發明”的各種框架、各種牛B的語言都是為了“方便”生成HTML(囧)。

從B/S系統的演進歷史我劃分二個階段

***階段——動態頁面

HTML代碼和某個腳本語言混合在一起。“不必過分多說,你自己清楚,你我到底想要做些什么”,直接上圖

HTML代碼和某個腳本語言混合在一起

這段代碼摘錄自“世界上***的個人Blog——wordpress”。為了精簡頁面中的邏輯它已經做了很大的努力,比如提取出來很多函數放在單獨的PHP文件中,在頁面部分直接調用這些函數。

這一階段基本上屬于互聯網初期發展階段,大家能用上“數據庫”,做出“絢麗特效”就已經非常不錯了。

第二階段——結構化階段

(我不喜歡用MV$這個詞,已經別用爛了要結合上下文才能理解它的含義)。

HTML和腳本混合在一起的滋味很不好受,修改代碼的時候往往是牽一發而動全身。所以第二階段就嘗試把HTML從代碼中剔除出去引入了——模板。

HTML代碼和某個腳本語言混合在一起

為了證明PHP是世界上***的語言我依舊選擇一個PHP項目來說明問題(OpenCart)。這段代碼已經剝離了很多業務邏輯,基本上是根據傳遞到模板中的數據來渲染界面,但是代碼依舊顯的很“凌亂”。(我故意找到一段很“現實”的代碼是想告訴大家:即便我們用了模板也僅僅是“把邏輯盡可能的剝離”——誰的view代碼沒有用過if之類的判斷?)

這一階段就是我們現在所采用的主流技術,無論你是什么程序員不用“模板”,沒有“MVC”都不好意思開工寫B/S程序。此時的“結構化”更多體現在后端,比如絢麗無比的數據訪問分裝(ORM之類的)、各種牛B哄哄的組件容器(Spring之類的),我們還有一大堆隨手可用的“庫”(apache commons、JDK標準庫),琳瑯滿目的模板引擎(Freemarker、Velocity、Thymeleaf)。這些工具幫我們更加容易組織代碼,也讓代碼更加容易被復用、被修改。

不完整的“結構化”

但是這場“結構化”并沒有針對前端帶來什么幫助。前端主要面臨的問題

  • 大家還在一次一次的重頭寫CSS,缺少一個框架;
  • HTML所能表達的東西粒度太細。比如我想要一個文本框就必須先定義form,定義幾個外部元素(比如div)修飾文本框,最終才能定義input type="text"/;

***個問題基本上被Bootstrap之類的CSS Framework解決了,第二個問題始終是一個“老大難”。我們始終缺乏一個技術手段把HTML組件化,如果你仔細觀察我上面的截圖會發現我用紅色框標記的部分,這是一個非常典型的問題根據不同的數據我們設置不同的css。我們對HTML的控制力度是直接作用于標簽而不是一個一個的組件,這就導致了HTML無法被復用。

前端的出現

解決HTML粒度的問題很多人都嘗試過努力,從后端角度出發的GWT、JSF、Asp.net WebForm;從前端角度出發的ExtJS、YUI,但是這些工作成效甚微。究其原因我覺的是“做得太多”,無論哪種方式它都是在試圖過多的隱藏復雜度,GWT是典型的“JavaScript是萬惡”;JSF一門心思非要“所見即所得”;WebForm則完全無視“設計師”的感受,讓你告別HTML;ExtJS、YUI則一切都是“組件”。過分的簡化問題會讓問題更加復雜,一個框架一定要暴露出必要的細節。

現在的前端定義了一種更加抽象的標簽來代替HTML,比如Reactjs的jsx、Vue的Component、Angular的component directives之類的都極大的提高了HTML的抽象粒度也提高了代碼的復用程度。這些框架都暴漏了必要的細節給使用者(沒有一個聲稱告別HTML、JavaScript;一切都是組件)而且明確的區分出了“組件化”的范圍是在“頁面”層次——所有的頁面渲染邏輯全部放到前端來做而后端代碼只提供數據(再次說明,此處的前端、后端僅僅是指技術架構上的變化而不是說工作職責的變化)。

現在開始學習

軟件領域的很多新技術要解決的核心問題都是復用,這似乎是整個領域的“魔咒”。經歷了多年的發展我們從非結構化走向結構化,從雜亂無章走向模塊化、組件化。我們用UML、用軟件工程、用設計模式、用面向對象、用各種華麗的技術來試圖讓我們的代碼更加容易維護、更加容易被修改——而背后的動機都是通過復用節省成本。

HTML抽象粒度太細帶來的直接問題就是無法復用,比如“列表頁面”,所有的表格長的都差不多,唯一的變化是不同的列不同的數據來源,但是我們卻很難尋找一種方式可以“封裝”這個表格。再比如“表單頁面”,也是這種尷尬的局面,我們的HTML結構差不多但是就是沒有辦法做封裝。我覺得這就是前端能帶給我們***的改變。

【本文是51CTO專欄作者“邢森”的原創文章,轉載請聯系作者本人獲取授權】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2015-06-04 11:22:22

前端程序員

2021-12-17 22:56:27

前端測試框架

2022-11-21 18:02:04

前端測試

2022-05-22 21:23:10

前端監控系統

2021-03-14 15:17:13

前端開發架構

2023-12-21 21:39:44

2015-06-05 11:23:19

前端為什么不要你

2020-11-19 15:34:47

前端招聘開發

2025-09-03 00:05:00

WebSocket微信釘釘

2020-10-15 15:32:30

JavaScript開發技術

2017-12-18 12:45:41

前端高薪IT行業

2017-12-13 12:33:14

UPS前端漏電

2024-06-05 08:54:29

2022-03-29 09:03:22

測試組件Propsrender

2018-05-29 12:00:51

前端工作互聯網

2015-09-15 09:08:58

前端程序員高薪

2025-03-25 07:10:00

開發前端JavaScript

2025-08-07 06:00:00

前端日期處理Date

2025-08-25 06:45:00

前端代碼開發

2025-12-18 09:08:35

點贊
收藏

51CTO技術棧公眾號

人人爽香蕉精品| 羞羞网站在线看| 色综合一个色综合| 欧美日韩精品一区二区三区| 一本到三区不卡视频| 日韩欧美视频一区二区三区四区| 亚洲精品视频一二三| 日韩黄色碟片| 日韩精品在线视频观看| 国产在线更新| 正在播放亚洲一区| 91xxx在线观看| 成人动漫视频在线| 成人黄色免费在线观看| 99精品视频在线| 亚洲a中文字幕| 免费日韩av| 4444亚洲人成无码网在线观看| 国产米奇在线777精品观看| 日韩精品一区在线观看| 国产二区视频在线观看| 欧美日韩亚洲视频一区| 久久九九热re6这里有精品| 亚洲女成人图区| 久草在线免费福利资源| 六月丁香婷婷久久| 69av视频在线播放| 亚洲免费成人av电影| 古典武侠综合av第一页| 亚洲欧洲成人| 日韩国产欧美在线播放| 亚洲片在线观看| 欧美在线观看在线观看| 老司机精品福利视频| 欧美贵妇videos办公室| 欧洲亚洲精品久久久久| 日韩在线播放视频| 国产ts一区| 国产综合久久久久久| 中文字幕日韩欧美精品高清在线| 国产精品久久亚洲| 韩国女主播成人在线观看| 成人午夜视频在线观看免费| 国产精品视频一二| www亚洲人| 伊人av综合网| 国产不卡一二三区| 精品久久久久久久无码| 91精品一区国产高清在线gif | 九色丨蝌蚪丨成人| 亚洲第一av色| 国产日韩av一区二区| 91啪国产在线| 69堂精品视频在线播放| 亚洲成色www8888| 欧美性猛交p30| 亚洲免费观看高清完整| 日韩免费在线电影| 国产九色91| 欧美日韩在线大尺度| 欧美主播一区二区三区美女| 免费的黄网站在线观看| 中国av一区二区三区| 日韩高清国产精品| 另类天堂av| 欧美aaa在线观看| 亚洲精品国久久99热| 久草福利资源在线视频| 亚洲一区二区三区四区不卡| 毛片网站大全| 欧美激情乱人伦| 蜜乳av一区二区| 日本a在线播放| 国产欧美久久久久久| 亚洲另类中文字| 日韩伦理一区二区三区| 在线免费av播放| 成年无码av片在线| 久久久一区二区三区| 国产69精品久久久久按摩| www亚洲国产| 日韩精品免费一线在线观看| 日韩精品一区第一页| 精品奇米国产一区二区三区| 日韩精品2区| 青青草av免费在线观看| 99re视频| 国产免费观看久久| 欧美激情在线精品一区二区三区| 国产黄色特级片| 久久久国产精品免费| 国产呦精品一区二区三区网站| 2019中文字幕在线视频| 成人xxxxx色| 在线播放日韩导航| 国产农村妇女精品一区二区| 五月婷婷在线观看| 波多野结衣av一区二区全免费观看| 日韩视频123| 久久综合狠狠综合| 天堂美国久久| 在线观看免费国产小视频| 久久亚洲综合国产精品99麻豆精品福利 | 黄色日韩精品| 欧美大电影免费观看| 青青草原成人网| 日韩av第一页| 欧美日韩国产片| 成人免费网址在线| 成人在线观看视频网站| 亚洲精品在线一区二区| 久久久精品蜜桃| 影视先锋久久| 男人天堂亚洲| 啊啊啊国产视频| 蜜桃视频日韩| 国产精品免费久久久| 亚洲精品美女免费| 色av一区二区| 欧美极品xxx| 一区二区三区四区五区精品视频| 免费亚洲电影| 成人免费在线电影| 一线天粉嫩在线播放| 18岁视频在线观看| 亚洲最大成人| 国产精品自产自拍| 日韩欧美高清在线播放| 成人在线日韩| 欧美精品videossex少妇| 三上悠亚在线观看| 曰本人一级毛片免费完整视频| 日本一区视频在线观看| 国产精品久久久久免费a∨大胸| 欧美另类交人妖| 久久人人99| 久久久久在线观看| 中文字幕亚洲精品在线观看| 99久久夜色精品国产亚洲1000部| 国内精品国产成人国产三级粉色| av在线中出| 欧美成人综合在线| 成人在线看视频| 精品国产一区三区| 九九九九免费视频| 亚洲精品日韩一| 欧美国产激情一区二区三区蜜月| 丝袜诱惑亚洲看片| 精品一区精品二区高清| 天堂va蜜桃一区二区三区 | 天天躁日日躁狠狠躁欧美| 玖玖玖视频精品| 超碰成人福利| 欧美一区二区三区另类| 亚洲性视频h| 国产欧美一级| 久久精品理论片| 久久婷婷久久一区二区三区| 日本一区二区三区视频视频| 亚洲在线成人精品| 精品视频999| 日韩在线视频免费观看高清中文| 亚洲人成在线免费观看| 日韩电影免费观看中文字幕 | 免费福利视频一区| 在线欧美亚洲| 香蕉久久网站| 日本伊人色综合网| 超碰在线国产| 国产日本久久| 欧美精品国产| 久久影院视频免费| 午夜精品久久久久久不卡8050| 日韩欧美国产午夜精品| 午夜免费久久久久| αv一区二区三区| 日本精品免费在线观看| 国产高清视频在线| 91成人午夜| 极品少妇xxxx偷拍精品少妇| 精品制服美女丁香| 欧洲黄色一级视频| 日韩国产福利| 福利在线一区| 狂野欧美性猛交xxxx巴西| 国产日韩换脸av一区在线观看| 在线观看黄色av| 亚洲大型综合色站| 欧美精三区欧美精三区| 日韩一区日韩二区| 91精品国产91久久久久久一区二区 | 日韩中文字幕一区| 99re在线视频播放| 成人性片免费| 奇米一区二区三区av| 久久精品男人的天堂| 亚洲少妇激情视频| 日本一区二区精品| 国产网站在线| 久久不卡国产精品一区二区|