A. 電商項目前端程序員如何分配任務模塊
項目管理,需求,UI設計體驗,功能設計,開發(前端,後端),測試(前端自動化,unittest,性能,UAT等),部署維護。
如果只是開發,就按功能點和頁面來分。
不建議一個人從前到後都懂,這樣如果流失的話,則容易出現問題。
軟體工程是個大學科,需要研究的。不是簡單一句話就說的清楚的。NB的項目經理必須懂軟體工程。
B. 前端和後端的區別是什麼
前端開發主要做的是用戶所能看到的前端展示界面;後端開發主要做的是邏輯功能等模塊。其實主要區別體現在以下兩個方面:知識結構與實現和工作職責。
1、知識結構
(1)展示的方式不同
前端指的是用戶可見的界面,網站前端頁面也就是網頁的頁面開發,比如網頁上的特效、布局、圖片、視頻,音頻等內容。前端的工作內容就是將美工設計的效果圖的設計成瀏覽器可以運行的網頁,並配合後端做網頁的數據顯示和交互等可視方面的工作內容。
後端是指用戶看不見的東西,通常是與前端工程師進行數據交互及網站數據的保存和讀取,相對來說後端涉及到的邏輯代碼比前端要多的多,後端考慮的是底層業務邏輯的實現,平台的穩定性與性能等。
(2)所用的技術、技能與工具不同
前端開發,就是要創造上面提到的網站面向用戶的部分背後的代碼,並通過建立框架,構建沉浸性的用戶體驗。為了實現這個目標,開發需要熟練運用下列語言、框架、工具庫:
後端開發者使用這些工具編寫干凈、可移植、具有良好文檔支持的代碼來創建或更新Web應用。但在寫代碼之前,他們需要與客戶溝通,了解其實際需求並轉化為技術目標,制定最有效且精簡的方案來進行實現。
(3)所用技術不同
前端開發用到的技術包括但不限於html5、css3、javascript、jquery、Bootstrap、Node.js 、Webpack,AngularJs,ReactJs,VueJs等技術。
後端開發 以java為例 主要用到的 是包括但不限於Struts spring springmvc Hibernate Http協議 Servlet Tomcat伺服器等技術。
2、工作職責
前端工程師主要的工作職責分為三大部分,分別是傳統的Web前端開發,移動端開發和大數據呈現端開發。Web前端開發主要針對的是PC端開發任務;
移動端開發則包括Android開發、iOS開發和各種小程序開發,在移動互聯網迅速發展的帶動下,移動端的開發任務量是比較大的,隨著5G標準的落地,未來移動端的開發任務將得到進一步的拓展;大數據呈現則主要是基於已有的平台完成最終分析結果的呈現,呈現方式通常也有多種選擇,比如大屏展示等。
後端工程師的主要職責也集中在三大部分,分別是平台設計、介面設計和功能實現。平台設計主要是搭建後端的支撐服務容器;介面設計主要針對於不同行業進行相應的功能介面設計,通常一個平台有多套介面,就像衛星導航平台設有民用和軍用兩套介面一樣;功能實現則是完成具體的業務邏輯實現。
(2)電商後台和前端相連邏輯擴展閱讀
前端和後端的應用范圍
1、PC (Personal Computer) 即個人電腦。
目前電腦端仍是前端一個主要的領域,主要分為面向大眾的各類網站,如新聞媒體、社交、電商、論壇等和面向管理員的各種 CMS (內容管理系統)和其它的後台管理系統。
2、Web App 是指使用 Web 開發技術,實現的有較好用戶體驗的 Web 應用程序。
它是運行在手機和桌面端瀏覽中,隨著移動端網路速度的提升,Web App 為我們提供了很大的便利。此外近兩年 Google 提出了一種新的 Web App 形態,即 PWA(漸進增強 Web APP) 。
3、WeChat (微信) 這個平台,擁有大量的用戶群體,因此它也是我們前端開發另一個重要的領域。微信的公眾號與訂閱號為市場營銷和自媒體從業者,打造了一個新的天地。
4、Hybrid App (混合應用) 是指介於 Web App、原生 App (主要是 Android 或 iOS )之間的 App,它兼具原生 App 良好用戶交互體驗的優勢和 Web App 跨平台開發的優勢。
5、Game(游戲),HTML5 游戲從 2014 年 Egret 引擎開發的神經貓引爆朋友圈之後,就開始一發不可收拾。不過現在游戲開發變得越來越復雜,需要製作各種炫麗炫麗的效果,還要製作各炫麗於 2D 或者 3D 的場景。
6、Desktop桌面應用軟體,就是我們日常生活中電腦中安裝的各類軟體。早期要開發桌面應用程序,就需要有專門的語言 UI (界面) 庫支持,如 C++ 中的 Qt 庫、MFC 庫,Java 的 Swing、Python 的 PyQT 等,否則語言是沒辦法進行快速界面開發。
7、Server Node.js 一發布,立刻在前端工程師中引起了軒然大波,前端工程師們幾乎立刻對這一項技術表露出了相當大的熱情和期待。看到 Node.js 這個名字,初學者可能會誤以為這是一個 Java 應用,事實上,Node.js 採用 C++ 語言編寫而成,是一個 Java 的運行環境。
C. 程序前端跟後端有什麼區別呀
前端開發主要做的是用戶所能看到的前端展示界面;後端開發主要做的是邏輯功能等模塊。其實主要區別體現在以下兩個方面:知識結構與實現和工作職責。
1、知識結構
(1)展示的方式不同
前端指的是用戶可見的界面,網站前端頁面也就是網頁的頁面開發,比如網頁上的特效、布局、圖片、視頻,音頻等內容。前端的工作內容就是將美工設計的效果圖的設計成瀏覽器可以運行的網頁,並配合後端做網頁的數據顯示和交互等可視方面的工作內容。
後端是指用戶看不見的東西,通常是與前端工程師進行數據交互及網站數據的保存和讀取,相對來說後端涉及到的邏輯代碼比前端要多得多,後端考慮的是底層業務邏輯的實現,平台的穩定性與性能等。
2、工作職責
前端工程師主要的工作職責分為三大部分,分別是傳統的Web前端開發,移動端開發和大數據呈現端開發。Web前端開發主要針對的是PC端開發任務;
移動端開發則包括Android開發、iOS開發和各種小程序開發,在移動互聯網迅速發展的帶動下,移動端的開發任務量是比較大的,隨著5G標準的落地,未來移動端的開發任務將得到進一步的拓展;大數據呈現則主要是基於已有的平台完成最終分析結果的呈現,呈現方式通常也有多種選擇,比如大屏展示等。
後端工程師的主要職責也集中在三大部分,分別是平台設計、介面設計和功能實現。平台設計主要是搭建後端的支撐服務容器;介面設計主要針對於不同行業進行相應的功能介面設計,通常一個平台有多套介面,就像衛星導航平台設有民用和軍用兩套介面一樣;功能實現則是完成具體的業務邏輯實現。
D. 電子商務前端設計和後台開發的區別是什麼
前端主要是用戶頁面,後台主要是業務邏輯和數據處理
E. 電商後台是怎麼生成出來的
後台系統,也不能叫做一個系統,很多公司將其拆分為很多子系統,阿里更將其發展成了中台事業群(搜索事業部、共享業務平台、數據技術)。後端一系列系統支撐著公司各種業務的進行和發展,前端展示、業務處理(訂單、優惠券)、庫存變動等進行時,後端各系統間互相調用介面進行數據更新
由於商業性質決定了電商業務支撐系統必須具備穩定性、可擴展、安全性強等特點,PM在設計產品架構時,應充分考慮到業務發展需要,盡量將各模塊隔離,商品模塊建個商品中心,訂單模塊建個訂單中心等等。只有在產品設計上有模塊化思想,具有前瞻性,技術在開發時才會考慮業務隔離,當業務調整、功能新增時,開發可迅速進行,避免牽一發而動全身的事情反復發生。
針對一般電商業務,我簡單畫了一張產品模塊示意圖,基本一些中小型電商公司的產品架構大致如此。除了圖中所示,現在很多電商公司開始轉型社交電商,採用UGC模式或直播電商,在產品架構上會新增資訊系統,實現資訊與商品的高度融合,本文不過多涉及。
對電商公司來講,最核心最難做的三部分:商品、訂單、庫存。商品與店鋪、營銷、評價等相關,訂單與會員、營銷、支付、庫存、物流等相關,庫存與訂單、采購、WMS、營銷等相關,系統之間業務邏輯和交互異常復雜,規則多樣。
F. 前端和後端產品經理的區別在哪裡
後端產品要求更有邏輯性,更多的項目經驗,更能與開發溝通協調的能力
前端產品需要更懂交互和視覺,更有敏銳的觸覺,知道最新的體驗操作
我從來不擔心我沒有未來,因為在電商後端做的優秀,懂支付,交易流程,促銷優惠,路很寬薪水很高
G. 電商前端和普通前端分別避開的坑有哪些
電商的前端工程師首先要對項目邏輯相當的熟悉,因為電商項目本身就比一般的項目大,邏輯復雜,尤其是在訂單、售後以及結算金額時一定不能出任何問題,而且要將代碼優化到最佳,並且代碼能夠通過專業的壓力測試,保證在同一時間數據量很大的情況下也不會出現問題,電商項目品類也是一大復雜點。
普通的前端工程師相對這些會簡單一些
H. 電商前端架構設計
什麼是前端架構
說到架構,很容易拉出一系列的概念知識點,像系統架構、軟體架構、框架等等,這些不是今天探討的重點,大家可以下去網路來理解。架構的本質是什麼?其實也是一種管理。通常我們所說的管理,都是指對於任務和人員的管理,而架構管的是機器和代碼。比如說,機器的部署屬於運維的物理架構,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是什麼樣的態度?是否需要考慮自適應?或者我的團隊足夠大,能夠各搞一套?;產品特徵是強內容還是強交互或者是游戲性。這些都是選擇不同框架的主要出發點。
沒有最好,只有最適合自己的,基本上,針對每個平台,我們都可以列出一些主流框架,但不意味著你們都能駕馭得住。小馬過馬,老牛沒過膝,松鼠淹個半死,就是這么回事。但無論我們選擇什麼框架或決定自己動手造輪子,都勿忘初心,技術必須讓我們工作生活更為輕松愉快——我們只選擇我們能駕馭住的框架,我們不能保證它在一年後是否會過時落後。
而且按照我個人這么多年的經驗來看,任何框架都會過時,往往不是因為他不夠好,而是因為一定有更好的出來。我們再選擇一個框架或者一個類庫的時候就要想好,未來我如何拋棄他。至少不能成為我們引入新的框架的絆腳石。現實的工作中很多的團隊往往會陷入到年復一年的用今年的新框架去重構去年老框架代碼的歷史循環中去。對於引入框架如何盡量延長他的生命力,我個人的意見是選擇框架時去追求概念,而不是潮流,當我的架構可以接受新的設計概念的時候才去考慮引入新的框架。用設計理念的選擇代替框架的選擇。之所以這么說是因為我觀察到我們部門的後端架構的開發理念跟我進公司的時候是差不多的。更多你可以參考成都網站建設
架構的組成
組件框架
I. 求解,什麼是前端系統,和後端系統,求通俗點的解釋
1.前端框架一般指用於簡化網頁設計的框架,比如,jquery,extjs,bootstrap等等,這些框架封裝了一些功能,比如html文檔操作,漂亮的各種控制項(按鈕,表單等等)。
2. 使用前段框架可以降低界面開發周期和提高界面的美觀性。
3. 有些框架比較輕量,比如jquery,有些框架比較重量,比如extjs。一般來說重量的框架會封裝更多的功能,比如extjs,封裝的grid控制項有很強的數據展示和操作功能。
1.對用戶的價值:
大部分產品對用戶的核心價值是功能和內容提供的,而不是由表現層和交互。譬如支付、電商、新聞、交友。
後端解決有還是無的問題,開天闢地。
前端解決有了以後好用的問題,錦上添花,在競爭激烈的領域確實至關重要。
2.技術廣度和難度:
廣度上後端工作在伺服器領域,能控制的硬體基本沒有極限,CPU、存儲、網路、集群等等,因此技術領域極廣。一個優秀的後端需要掌握或了解大量技術如:並發、業務架構、資料庫、幾打流行框架、性能調優、分布式計算、集群架構、容災、安全、運維等等,一層挖透了還有下一層。幾十年計算機發展歷史中大量的技術沉澱在伺服器端。
Web前端一直工作在一個瀏覽器盒子里,先天不足,能承載的可能性太小,技術廣度不足。
深度上,現代計算機領域的難題如大規模負載,海量數據處理,實時計算也是後端的,前端集中在表示層,這一層雖然也很復雜,但能稱之為難題的技術幾乎沒有,也很容易復制。
前端要說深度也不是沒有,但這一步需要跨到圖形領域(如網頁游戲),不是常見場景。
說到底前端代碼能控制的硬體確實不如後端,因此在技術上,前端更容易。現在為什麼說前端會比後端更值錢呢?那是因為前端對硬體的控制能力提升了(html5 odejsmobile),而後端分化得比較厲害,有一批後端專門只寫業務邏輯,框架是別人寫的,系統架構是別人搭的,伺服器跑在雲里,連機器物理地址都不知道。世人眼裡可能覺得這種寫MVC代碼的人才是後端,這種被限制在一個「虛擬盒子」里的後端確實不怎麼難上手。
一般而言網上說的互聯網行業的技術含量排名大概是這樣:
產品經理<設計師<前端<後端<其他更高級職位,比如演算法工程師等等。
在廣大中小公司,很多產品經理都是不會代碼,不會設計。 很多技校學藝術設計的畢業生,當上了美工。這些都是真,所以能力低,乾的人多,自然就低。然而,你問Google設計師掙多少了嘛?
門檻低不等於技術含量低。
J. 電商網站的購物車的價格統計是前端計算,還是後台計算
一般設計是前台頁面用js或者JQ統計的,然後結算的時候將價格提交給後台處理。放在後台計算也是對的,這個根據平台本身,或者個人情況而定。