① 電商前端架構設計
什麼是前端架構
說到架構,很容易拉出一系列的概念知識點,像系統架構、軟體架構、框架等等,這些不是今天探討的重點,大家可以下去網路來理解。架構的本質是什麼?其實也是一種管理。通常我們所說的管理,都是指對於任務和人員的管理,而架構管的是機器和代碼。比如說,機器的部署屬於運維的物理架構,SOA屬於服務架構,那麼,前端的架構指什麼呢?
長期以來,前端所處的位置是比較偏應用層,很薄的一層,而架構又要求深度和廣度,所以之前在前端裡面做架構,好比在小水塘里游泳,稍微撲騰兩下就到處碰壁。但最近這幾年來,隨著一些列新的技術和概念的出現,前端的范圍被大大拓展了,所以這一層逐漸變得大有可為。
單純從語言的角度來說,html、js、css是最簡單最容易上手的開發語言,不考慮模塊化、工具、壓縮優化,任何人都可以快速上手,完成一兩個功能簡單的頁面。在規模很小的項目中,前端技術要素彼此不會直接產生影響,因此無需架構相關的思考。由於前端語言這種靈活鬆散的特點,使得前端項目規模在達到一定規模後,工程問題凸顯,成為發展瓶頸,原來孤立的技術要素開始彼此產生影響,各種技術要素彼此之間開始出現關聯,要用模塊化開發,就必須對應某個模塊化框架,用這個框架就必須對應某個構建工具,要用這個工具,就必須對應某個包管理工具……這個時候,需要有人從比較高的角度去梳理、尋找適合自己團隊的集成解決方案。而這一系列解決問題的工具和手段就是所謂的前端架構。
架構的組成
組件框架
架構不等於框架這一點很好理解,相信大家都能夠很深入的說明這里的差別,框架是架構的重要組成部分,架構決定框架的選型,框架決定架構的技術路線。架構圍繞框架進行一系列的流程工具建設,從而形成完善自動的開發體系。
+框架不等於類庫,這里就是很多人困惑的點,你用的什麼框架?jquery、underscore、linq、seajs、requirejs等等,每個人都能夠列舉一大堆。但這個是不準確的,一套編碼框架是有一系列的元素組成:
開發模式,我們如何來實現代碼的職責分離。以前整個前端是mvc中v這一層,而現在前端內部也進行了mvc的邏輯細分,Javascript的MVC框架現在很多,有的強化m、有的強化c。每一個框架其實都有其特點的,並且有越來越多的創新改造,比如現在最流行的是mvvm。有angular、react等等。我們是為了引入mvvc才把他們納入到我們的開發體系,而不是因為他是一個好用的類庫。
通訊,模塊化、組件化是前端在推進開發模式過程中的一個過程產物,為了有效的進行組件隔離和獨立,現在有各種各樣的通信模型出來,不過由於實現簡單,代碼少,他往往是合入到某個類庫裡面,但本質也是一個類庫。比較成熟的比如:消息匯流排、事件模擬、緩存中轉、flux模型等等。
模板,我們用什麼樣的方式來集中的處理數據往html的轉換過程,這里就不用多展開,這種類庫現在太多了,光我們公司就有很多套,大家在代碼行、緩存管理、預編譯、運算性能、強大的語法等等各個維度不段追求各種極致。
基礎類庫最後才是傳統類庫,相信現在已經沒有同學會在項目中去約束團隊中的dom操作、常用函數、方法、非同步化等等各種很基礎東西,這個時候我們一般就是引入jq、zepto、underscor這些封裝好的東西就行了。核心就是為了改善編碼生產力。
對於框架的選型要從兩面看,一是看該框架的本領,二是看你們團隊的能耐。從經驗上給幾個點建議:
這里也可以順便展開聊一下現在前端產品的形態分類:
從這些分類裡面,我們這些年派生出了所謂全端和全棧的概念。但本質上怎麼走還是要由所在產品的形態來決定。
內容型Web站點 側重渲染方面的優化,前端邏輯比重小
操作型B/S系統 以數據和邏輯為中心,界面較規整
hybrid內置型,要處理緩存和一些本地介面,包括PC客戶端和移動端。現在的本地應用,基於很多考慮,都變成了混合應用,也就是說,開發這個應用的技術,既包含原生的代碼,也包含了嵌入的HTML5代碼
Web游戲,前端的邏輯非常重,在代碼結構上要求非常高的可管理性和更復雜的設計模式。
桌面應用型,現在有一些PC端的混合應用開發技術,比如node-webkit和hex,前者的典型應用是XDK,後者的典型應用是有道詞典,此外,豌豆莢的PC客戶端也是採用類似技術的,也有一些產品是用的qt-webkit。這類技術可以方便做跨平台,極大減少開發工作量。
大工程應該盡量避開谷歌產品,他的很多技術開源項目都是玩票性質的,GWT、Closure、Darty就是前車之鑒。曾今提出過很多的新技術,到現在還是獨家的,變出太大。包括現在angular,喜歡做斷崖式升級,做做運營後台系統問題不大,如果是線上系統的話,每次升級就是一次人月神話中的典型焦油坑。
關注應用場景,像剛才說到的boss後台是一種;另外我的平台是否有沉重的歷史包袱,需要兼容ie6,還是可以輕裝上陣;產品對於seo是什麼樣的態度?是否需要考慮自適應?或者我的團隊足夠大,能夠各搞一套?;產品特徵是強內容還是強交互或者是游戲性。這些都是選擇不同框架的主要出發點。
沒有最好,只有最適合自己的,基本上,針對每個平台,我們都可以列出一些主流框架,但不意味著你們都能駕馭得住。小馬過馬,老牛沒過膝,松鼠淹個半死,就是這么回事。但無論我們選擇什麼框架或決定自己動手造輪子,都勿忘初心,技術必須讓我們工作生活更為輕松愉快——我們只選擇我們能駕馭住的框架,我們不能保證它在一年後是否會過時落後。
而且按照我個人這么多年的經驗來看,任何框架都會過時,往往不是因為他不夠好,而是因為一定有更好的出來。我們再選擇一個框架或者一個類庫的時候就要想好,未來我如何拋棄他。至少不能成為我們引入新的框架的絆腳石。現實的工作中很多的團隊往往會陷入到年復一年的用今年的新框架去重構去年老框架代碼的歷史循環中去。對於引入框架如何盡量延長他的生命力,我個人的意見是選擇框架時去追求概念,而不是潮流,當我的架構可以接受新的設計概念的時候才去考慮引入新的框架。用設計理念的選擇代替框架的選擇。之所以這么說是因為我觀察到我們部門的後端架構的開發理念跟我進公司的時候是差不多的。更多你可以參考成都網站建設
② 電子商務專業向前端開發和網頁設計這兩方面發展要學什麼
選一個實用點的專業,其實IT專業就不錯,比如 電子商務、4G移動開發、內ui設計、互聯網編程、、大容數據、VR丶雲計算、等等就業前景都挺好。
我們這有兩年制 也有三年制還有短期 大專 中專都有
看看自己的興趣愛好和發展趨勢,然後選擇一個適合自己的專業
我們的很多學生都是學有所成,祝你一切順利
③ 各位大神,電商網站使用什麼html5的前端框架
我記得以前是jq
現在很有可能是vue2.0,畢竟vue2.0用的人越來越多了,而且很方便,還是一個回中國自答己人開發的。
angular4.0和react也行。
react應該是3個中我認為最好的,因為我沒有用過,我看過他的代碼,很簡潔。
angular4.0和vue2.0很像,都是把代碼組件化。
④ 電商項目前端程序員如何分配任務模塊
項目管理,需求,UI設計體驗,功能設計,開發(前端,後端),測試(前端自動化,專unittest,性能,UAT等),屬部署維護。
如果只是開發,就按功能點和頁面來分。
不建議一個人從前到後都懂,這樣如果流失的話,則容易出現問題。
軟體工程是個大學科,需要研究的。不是簡單一句話就說的清楚的。NB的項目經理必須懂軟體工程。
⑤ 電商前端和普通前端分別避開的坑有哪些
電商的前端工程師首先要對項目邏輯相當的熟悉,因為電商項目本身就比一般的項目大,邏輯復雜,尤其是在訂單、售後以及結算金額時一定不能出任何問題,而且要將代碼優化到最佳,並且代碼能夠通過專業的壓力測試,保證在同一時間數據量很大的情況下也不會出現問題,電商項目品類也是一大復雜點。
普通的前端工程師相對這些會簡單一些
⑥ 電商運營和web前端應該選擇哪一個工作,本人快28了
電商運營需要點天賦,要有比較靈巧的思維。而web前端需要耐心踏實點,當然做的好的話也需要開拓性的思維
⑦ 電商運營和web前端哪個更有前途
方向不一樣,一個主要是運營方面,一個是屬於技術方面,看個人的選擇,兩者都是互聯網現在比較火的職位,挺不錯的!
⑧ 電商網站開發中前端有哪些安全性的問題要解決
電子商務簡單的說就是利用進行的交易活動,電子商務:"電子"+"商務",從電子商務的定義可以了解電子商務的安全也就相應的分為兩個方面的安全:一方面是"電子"方面的安全,就是電子商務的開展必須利用Internet來進行,而Internet本身也屬於計算機網路,所以電子商務的第一個方面的安全就是計算機網路的安全,它包括計算機網路硬體的安全與計算機網路軟體的安全,計算機網路存在著很多安全威脅,也就給電子商務帶來了安全威脅;另一方面是"商務"方面的安全,是把傳統的商務活動在Internet上開展時,由干Internet存著很多安全隱患給電子商務帶來了安全威脅,簡稱為"商務交易安全威脅"。這兩個方面的安全威脅也就給電子商務帶來了很多安全問題:
(一)計算機網路安全威脅
電子商務包含"三流":信息流、資金流、物流,"三流"中以信息流為核心為最重要,電子商務正是通過信息流為帶動資金流、物流的完成。電子商務跟傳統商務的最重要的區別就是以計算機網路來傳遞信息,促進信息流的完成。計算機網路的安全必將影響電子商務中的"信息流"的傳遞,勢必影響電子商務的開展。計算機網路存在以下安全威脅:
1、黑客攻擊
黑客攻擊是指黑客非法進入網路,非法使用網路資源。隨著互聯網的發展,黑客攻擊也是經常發生,防不勝防,黑客利用網上的任何漏洞和缺陷修改網頁、非法進入主機、竊取信息等進行相關危害活動。2003年,僅美國國防部的"五角大樓"就受到了了230萬次對其網路的嘗試性攻擊。從這里可以看出,目前黑客攻擊已成為了電子商務中計算機網路的重要安全威脅。
2、計算機病毒的攻擊
病毒是能夠破壞計算機系統正常進行,具有傳染性的一段程序。隨著互聯網的發展,病毒利用互聯網,使得病毒的傳播速度大大加快,它侵入網路,破壞資源,成為了電子商務中計算機網路的又一重要安全威脅。
3、拒絕服務攻擊
拒絕服務攻擊(DoS)是一種破壞性的攻擊,它是一個用戶採用某種手段故意佔用大量的網路資源,使系統沒有剩餘資源為其他用戶提供服務的攻擊。目前具有代表性的拒絕服務攻擊手段包括SYNflood、ICMPflood、UDPflood等。隨著互聯網的發展,拒絕服務攻擊成為了網路安全中的重要威脅。
(二)商務交易安全威脅
把傳統的商務活動在Internet上進行,由於Internet本身的特點,存在著很多安全威脅,給電子商務帶來了安全問題。Internet的產生源於計算機資源共享的需求,具有很好的開放性,但正是由子它的開放性,使它產生了更嚴重的安全問題。Internet存在以下安全隱患:
1、開放性
開放性和資源共享是Internet最大的特點,但它的問題卻不容忽視的。正是這種開放性給電子商務帶來了安全威脅。
2、缺乏安全機制的傳輸協議
TCP/IP協議是建立在可信的環境之下,缺乏相應的安全機制,這種基於地址的協議本身就會泄露口令,根本沒有考慮安全問題;TCP/IP協議是完全公開的,其遠程訪問的功能使許多攻擊者無須到現場就能夠得手,連接的主機基於互相信任的原則等這些性質使網路更加不安全。
3、軟體系統的漏洞
隨著軟體系統規模的不斷增大,系統中的安全漏洞或"後門"也不可避免的存在。如cookie程序、JAVA應用程序、IE瀏覽器等這些軟體與程序都有可能給我們開展電子商務帶來安全威脅。
4、信息電子化
電子化信息的固有弱點就是缺乏可信度,電子信息是否正確完整是很難由信息本身鑒別的,而且在Internet傳遞電子信息,存在著難以確認信息的發出者以及信息是否被正確無誤地傳遞給接收方的問題。
(三)計算機網路安全威脅與商務交易安全威脅給電子商務帶來的安全問題
1、信息泄露
在電子商務中表現為商業機密的泄露,以上計算機網路安全威脅與Internet的安全隱患可能使得電子商務中的信息泄漏,主要包括兩個方面:(1)交易一方進行交易的內容被第三方竊取。(2)交易一方提供給另一方使用的文件第三方非法使用。
2、篡改
正是由於以上計算機網路安全威脅與Internet的安全隱患,電子的交易信息在網路上傳輸的過程中,可能被他人非法地修改、刪除或重放(指只能使用一次的信息被多次使用),這樣就使信息失去了真實性和完整性。
3、身份識別
正是由於電子商務交易中交易兩方通過網路來完成交易,雙方互不見面、互不認識,計算機網路的安全威脅與Internet的安全隱患,也可能使得電子商務交易中出現身交易身份偽造的問題。
4、信息破壞
計算機網路本身容易遭到一些惡意程序的破壞,如計算機病毒、特洛伊木馬程序、邏輯炸彈等,導致電子商務中的信息在傳遞過程被破壞。
5、破壞信息的有效性
電子商務中的交易過程中是以電子化的信息代替紙面信息,這些信息我們也必須保證它的時間的有效與本身信息的有效,必須能確認該信息確是由交易一方簽發的,計算機網路安全威脅與Internet的安全隱患,使得我們很難保證電子商務中的信息有效性。
6、泄露個人隱私
隱私權是參與電子商務的個人非常關心的一個問題。參與到電子商務中的個人就必須提供個人信息,計算機網路安全威脅與Internet的安全隱患有可能導致個人信息泄露,破壞到個人隱私。
⑨ 電商網站使用什麼html5的前端框架比較合
先要想明白PC端和移動端主要的差別
1、PC端兼容性問題,如果要兼容IE低版本系列,版react+rex 或者 vue 之類的要排出在外
2、SEO問題權,採用前端渲染的話是沒有SEO的,或者說很難做SEO (電商網站對SEO要求應該比較高)
重點要考慮這兩點問題,react vue angular等前端框架在PC上實現項目的能力都是有的。
⑩ 做一套pc端的電商網站,前端用什麼框架
現在的主流網站都是用div+css,框架來做的;
也可以根據需求來選擇框架;
具體情況不同網站有不同的做法。