深圳搬家搬廠網站建設公司
當前位置:網站首頁 > 建站百科 > 網絡公司做網站注重前后分離 返回列表

網絡公司做網站注重前后分離

發布時間:2019-01-10來源:admin
網絡公司做網站注重前后分離,什么是前后端分離,傳統開發模式相信很多做過Web開發童鞋應該都會經歷這樣一種開發模式,利用后端語言提供的模版引擎編寫HTML/XML頁面,比如:<br /> <br /> PHP 開發有 Smarty模板引擎<br /> <br /> Java web工程有jsp頁面<br /> <br /> Python 各個Web框架都有各自的模板引擎<br /> <br /> NodeJS 的express你懂得<br /> <br /> 都有一個共同的特點,服務器端后臺語言生成解析后的HTML/XML格式返回給客戶端,例如瀏覽器端訪問直接返回解析好的HTML,瀏覽器直接就解釋執行。<br /> <br /> 在傳統的像ASP,JSP和PHP等開發模式中,前端是處在一個混沌的狀態中,可以說是沒有獨立的“人格”可言。<br /> <br /> 前端負責切圖和編寫靜態頁面模板,后端將數據渲染到前端提供的頁面模板中,最后將頁面渲染到瀏覽器展示。<br /> <br /> 這個過程中,前端只提供頁面模板或者寫一些JavaScript腳本,有的甚至JS腳本都是后端來寫,前端的作用只局限于切圖和樣式模板文件,這種角色就是傳說中的“切圖仔”。<br /> <br /> 前后端分離,不只是簡單的代碼的分離。<br /> <br /> 首先是要架構上分離解耦,逐漸擺脫前后端在架構上的依賴,前后端各司其職,分開部署在不同的服務器上,通過RESTful接口傳遞數據。減輕后端服務器的壓力,后端服務器不再負責頁面渲染,只負責輸入數據,吞吐量提升了好幾倍。<br /> <br /> 其次是邏輯分離,不分離的時候,對于業務代碼的界限很不明確,業務邏輯基本都放在后端,分離之后,前端也承擔了一部分不該后端來寫的業務邏輯,數據處理更加清晰。<br /> <br /> 最后是系統分離,同一個后端系統,可以將同樣的接口數據提供給PC端、Mobile端和Native端等不同的前端終端,不需要為每一種終端提供一套接口。同樣,對于前端應用來說,可以更方便的調用多個后端服務器的接口,處理和展示多個系統間的數據。<br /> <br /> 為什么要前后端分離<br /> 前后端分離,讓軟件開發的流程更加清晰,解決了開發階段的痛點。<br /> <br /> 從前,前端不止要學習后端的模板渲染語法,還要配置后端的開發環境,并不斷同步后端的代碼,這對于前端來說是非常痛苦的。<br /> <br /> 而現在,前端有自己的服務器,不需要再依靠后端服務器來支持項目運行,如果在開發階段,還可以使用mock數據(要先和后端確定接口數據結構),擺脫對后端接口的依賴,這樣極大的提高了開發效率,系統分工也更加明確。<br /> <br /> 前后端分離后,需要考慮哪些事情<br /> 分離后的前端,不再是一個簡單的HTML文件,已經是一個獨立的應用系統。除了要考慮頁面的數據渲染展示,還要用工程化的思想來考慮前端的架構,前后端的交互和數據安全等事情。<br /> <br /> 架構<br /> **前端應用部署在Nodejs、Nginx或者Nodejs和Nginx組合的服務器上,通過反向代理轉發頁面請求到后端服務器,相當于在傳統的流程中加了Nodejs這一層。**當然,也可以用Nodejs服務器來承擔一部分負載均衡的工作,業務邏輯也可以放在Nodejs這一層來處理,例如:通過判斷請求是來自 PC 還是 APP ,將請求發到不同的后端服務器<br /> <br /> Nodejs的架構中,分層如下<br /> <br /> 讓我們來回想一下軟件開發流程中的幾個關鍵環節:<br /> <br /> (1)產品經理提需求,畫原型;<br /> <br /> (2)UI設計師根據原型出設計圖;<br /> <br /> (3)測試團隊根據產品原型編寫測試用例,制定測試計劃;<br /> <br /> (4)架構師根據原型編寫API文檔;<br /> <br /> (5)前后端工程師基于API文檔完成業務開發;<br /> <br /> (6)測試、改BUG、發布。<br /> <br /> API文檔環節直接關系到了前端和后端兩個開發團隊,也是整個軟件開發流程中耗時最大的環節。<br /> <br /> RESTful接口交互<br /> 前后端分離之后,更多的是采用 RESTful 風格的接口與后端進行數據交互。(如果你們的項目還在使用靜態的API文檔,比如word文檔,那你們必定經歷著巨大的痛苦)<br /> <br /> REST是“呈現狀態轉移(REpresentational State Transfer)”的縮寫,一種API的架構風格,在客戶端和服務端之間通過呈現狀態的轉移來驅動應用狀態的演進。<br /> <br /> 在 REST 樣式的 Web 服務中,每個資源都有一個地址。資源本身都是方法調用的目標,方法列表對所有資源都是一樣的。這些方法都是標準方法,包括 HTTP GET、POST、PUT、DELETE,還可能包括 HEADER 和 OPTIONS。<br /> RESTful的API設計,使得后端通過接口向前端傳遞數據,數據的格式通常是JSON這種通用的格式。對前端來說,只要后端返回過來的是RESTful的數據就行,不管后端是用Java寫,還是用python或PHP,拜托對后端的依賴,做到前端系統的獨立。<br /> <br /> REST服務的調試:Postman 和 Insomnia<br /> <br /> 使用模板引擎<br /> 前后端分離之后,前端工程師需要將通過API獲取的數據呈現到頁面上,雖然也可以通過jQuery對頁面一個一個賦值,但是這種效率太低了,或者也可通過在JavaScript中拼接HTML,但是這種方式太難維護HTML代碼了,也很難閱讀。因此最好的方式就是使用模板引擎。<br /> <br /> 前端的模板引擎跟后端模板引擎很相似,比如JSP或cshtml(razor),他們的語法都非常相似,他們所實現的功能也幾乎一樣:將數據綁定到HTML模板。VueJs和react都可以充當這樣的模板引擎。我們最終沒有選用react而是選用了VueJs的原因只有一個,那就是VueJs是真正的響應式,而react改變model之后需要手工調用setState才會更新UI,這是完全無法忍受的。<br /> <br /> 因為這個原因,我們只能選擇VueJS作為模板引擎。<br /> <br /> 工程化構建<br /> Nodejs不止可以用來做前端服務器,在開發階段,它也能發揮很大的作用。<br /> 前端生態的發展,是圍繞著Nodejs進行的。用npm來管理項目依賴,可以很好的維護和運行在Nodejs環境上。<br /> 打包工具grunt、gulp、webpack和rollup等,都是運行在nodejs上,再結合語法編譯、打包部署等插件,將應用輸入成一個完整的應用。<br /> 如果你使用了Angular、React或Vue框架,或者你使用瀏覽器暫時還不兼容的ES6語法,還需要在應用打包前用babel將語法編譯成瀏覽器可識別的ES5的語法。<br /> <br /> SPA<br /> SPA是單頁Web應用(single page web application,SPA)的簡寫,就是只有一張Web頁面的應用,是加載單個HTML 頁面并在用戶與應用程序交互時動態更新該頁面的Web應用程序。<br /> <br /> 像Angular、React或Vue就是為了SPA而設計的,結合前端路由庫(react-router、vue-router)和狀態熱存儲(redux、vuex)等,可以開發出一個媲美Native APP的Web APP,用戶體驗得到了很大的提升。<br /> <br /> 當然,SPA也不是完美的,也不是適合所有的web應用,需要結合項目和場景來選擇。<br /> <br /> SPA有如下缺點:<br /> <br /> 初次加載耗時增加。可以通過代碼拆分、懶加載來提升性能,減少初次加載耗時。<br /> <br /> SEO不友好,現在可以通過 Prerender 或 Server render 來解決一部分。<br /> <br /> 頁面的前進和后端需要開發者自己寫,不過現在一些路由庫已經幫助我們基本解決了。<br /> <br /> 對開發者要求高,由于做SPA需要了解一整套技術棧,所以,要考慮后期是否有合適的人選進行維護。<br /> <br /> mock(模擬數據)<br /> 前后端分離框架中的API mock思路<br /> 想要實現真正的前后端分離,那就必須得用好API mock(模擬數據)。使用mock數據的好處有兩個:<br /> <br /> 前端開發人員可以基于API文檔生成mock數據,在后端開發人員將API發布出來之前就可以完成整個業務流程的開發;<br /> <br /> 使用mock數據能夠更低成本、更快速地,通過直接修改mock數據的方式,調試頁面樣式、調試頁面功能。<br /> <br /> 全局的mock開關<br /> 為什么要設置這樣一個全局的mock開關呢?主要基于以下兩點考慮:<br /> <br /> 設置全局的mock開關之后就不再需要針對每一個頁面設置mock開關,更容易維護,避免項目中有多個mock開關而難以統一開關狀態;<br /> <br /> 如果發布時忘記將mock開關給關掉,那么發布之后一運行發布者就會發現mock開關忘了關,然后可以快速修復之后再重新發布,從而避免不小心將正式服更新為mock數據源。<br /> <br /> 正是由于以上兩點考慮,我們的全局mock開關可以幫助程序開發者和發布者更不容易犯錯。<br /> <br /> 解決請求問題<br /> 前后端分離后,我們只需要Server端告訴我們Api URL即可,那么這會產生一個問題:Ajax跨域。這里就不能使用一般的跨域解決方法去解決,比如jsonp,iframe信使等等,因為我們還有POST請求。<br /> <br /> 于是Http Proxy類工具就有用了,比如我就會在BrowserSync加入中間件判斷每一個請求,如果是/api前綴就會代理到API Server端,API Server端收到數據后再返回給BrowserSync,BrowserSync再返回給瀏覽器端。這樣就解決跨域請求的問題<br /> <br /> 生產環境有兩種部署,一種是放到后臺項目里,這就沒啥說的,另外一種就是前后端分開部署,那就在前端WebServer處理端寫點轉發規則就好,如Nginx,Apache都支持。<br /> <br /> 靜態資源路徑問題<br /> 如果你的項目有上傳資源功能,那自然就會產生用戶資源,那前后端分離后,如何來處理這個問題呢?得先看模式。<br /> <br /> 資源與后臺項目放一起,后臺處理完后需要返回前臺一個相對路徑,如果資源時一臺單獨的服務器,那就需要返回資源的絕對URL即可。<br /> <br /> 會話<br /> Web項目最頭疼的就是無狀態導致會話問題,傳統的Web項目都使用Session/Cookie,但在前后端分離,集群部署模式下這Session明顯缺陷太多。token方式已經是當前Web端解決會話的主流,并且有很多開源好用的token生成管理程序,基本上拿來就能用。<br /> <br /> 做網站公眾平臺每天為您分享原創Web開發資訊,開發經驗,為您的技能充電。期待您的關注與分享,同時歡迎您留言,讓我們每天進步一點點!<br />
聯系方式:   0755-84185494

閱讀過此文章的讀者,還閱讀過下面的文章

  • 深圳網站制作好后來年到期了該怎么辦
    <p> 深圳網站制作好后來年到期了該怎么辦,不管是個人還是公司,要想制作好一個網站真的不容易,不僅僅需要做網站前期的規劃和策劃工作,還需要對網站建設的欄目,內容進行填充和建設,面對這一堆的要求和東西,整體還是比較麻煩和費事的,所以,網站建設制作好之后,一定要注意來年的續費問題,好多公司不注意這個問題,造成了網站后期打不開了,不能正常方面了,出現了問題才想起來網站沒有續費,接下來我們來看看深圳網絡公司是如何建議的。 </p> <p> 1.域名到期的影響<br /> &nbsp;一般情況下,網站域名需要一年進行一次續費,也可以一次購買多年,如果域名到期沒有及時續費,網站就會打不開,域名續費期一般是一個月,過了這個時間就會進入贖回期,這時候就不能續費了。<br /> &nbsp;2.服務器到期的影響<br /> &nbsp;服務器到期與域名一樣,到期后網站同樣不能打開,如果之前網站在做推廣,會直接影響展現效果,長時間不續費的話,網站數據就會全部刪除了,之前的努力就全白做了。<br /> &nbsp;3.網站維護服務到期<br /> &nbsp;有些網絡公司服務商會有網站維護費用,一般都是一年為一個期限,如果到期后您沒有及時維護,網站出現問題后就不會有人給您維護,就會造成影響。影響最大的就是網站展現的效果。<br /> </p>
  • 深圳做網站公司做網站時要明白這些
    <p> 深圳做網站公司做網站時要明白這些。其實做網站有的時候不僅僅是在做網站,更多的是在幫助其他公司在做網絡宣傳門戶,站在這個角度上你就知道你所承擔的責任了,作為現在公司網站建設不僅要符合時代潮流,更多的需要緊扣時代網頁設計特色和要求,只有這樣制作設計出來的網站才能更好的滿足現在人們的使用要求和觀念的,不管是在網站設計理念,網站布局規劃,以及網站內容建設等等,這些方面都需要進口時代主題和要求的,接下來我們來看看深圳網站制作公司是如何做的,需要做好那些方面的要求和規范呢? </p> <p> 審美在變,網站設計要緊跟潮流<br /> 也許用戶訪問時,不會逐一閱讀網站內容,但首先映入眼簾的一定是設計。也許網站在幾年前設計制作的確實很漂亮,但是我們無法否認的事實是,用戶對網站設計的審美一直在不斷改變。這個比較容易對比,隨便找一個行業,然后通過百度搜索到十家網站,分別對應年份和網站的網址,讓一個不知情的人去逐一打開并評判感受。大體趨勢是越是新近設計制作的網站,越容易贏得用戶的接受承認。其實這就是用戶的真實感受,每年快速改版重做對于很多公司來說有些壓力,但是筆者認為一般而言網站2-3年是需要重新設計制作快速的。一個通過網站尋找供應商的用戶,其瀏覽網站一般也就幾十秒到幾分鐘時間,先進的網站設計效果是吸引其深入了解進而咨詢的較好方法。<br /> 技術在變,網站制作要貼合需求<br /> 周圍的一切都在發生著巨變,網站技術也是如此,此前被很多網站公司采用的ASP網站開發語言幾乎已經沒人使用,相對于傳統的PC端網站,現在更多看重的是移動端,公司設計制作的網站現在多為自適應PC端、PAD端以及手持移動終端的響應式網站。誰也不知道網站技術會走向哪個方向,但是對于普通的企業而言,我們可以把握趨勢,至少每隔兩三年對網站重新快速設計制作。<br /> 企業在變,網站建設要適應發展<br /> 網站總是為企業服務的,換句話說就是網站的設計制作需要跟上企業的發展步伐。現在急劇變化的市場面前,如果想立于不敗之地,企業的經營策略一定在不斷調整優化。作為給企業發展提供服務的網站,其理應不斷調整不斷優化以適應公司需求?,F在是互聯網時代,用戶了解公司更多的也是通過網絡,網站不僅是營銷的工具,更是企業品牌形象的展示窗口。由于人力成本的不斷升高,而網站設計更多的需要技術人員手工完成,所以真正定制開發的網站都價格不菲。但是同樣是網站建設公司網站改版也不一定就選擇定制,如果有合適的模板網站,也是不做的選擇。我們需要的是一個緊跟時代和用戶需求的網站,而非一定采用哪種方式實現它。 </p>
  • 英文網站制作需要注意那些問題和事項
    英文網站制作需要注意那些問題和事項。英文網站制作還是跟中文網站制作有比較大的區別的,應為中文網站面對的客戶群體是國內的用戶,而國內的用戶對網站的使用習慣,要求都是跟國外不一樣的,從而在制作英文網站的時候,一定要注意,像這種英文網站制作還是需要從國外人使用網站的習慣,使用網站的一些喜好出發,只有這樣制作出來的網站滿足國外人的使用的,這是一個方面,另外一個方面就是國外網站面對的搜索引擎,也是不一樣的,國外的搜索引擎跟國內有著比較大的區別的,搜索引擎也是制作英文網站必須要考慮的一個方面了,最后就是網站制作價格方面了,一般英文網站制作價格要比國內的網站制作價格高一些,這是一定的,畢竟國外網站制作的細節要求,以及針對搜索引擎優化方面還是有比較高的要求的,所以,這些都是工作量,也都是需要處理好這些方面的細節工作的。
  • 網站設計公司的發展趨勢詳解
    <p> 網站設計公司的發展趨勢詳解,目前網頁設計公司慢慢的轉型升級成為一種綜合性的設計公司了,不僅僅是在網站設計了,如果單純的依賴于網站設計,對于這樣的公司來說現在還是很被動的,并且目前的網站制作價格已經白熱化了,競爭也是很大的情況下,好多公司已經賺不到什么錢了,面對這樣的市場形式,作為網站設計公司要不斷的擴大和嘗試新的方式和方法,實現公司業務的升級和轉型,這也是擺在深圳<a href="http://www.szbc888.com" target="_blank"><strong>網站制作公司</strong></a>面對不可逾越的一個問題了,畢竟現在網站制作公司的活量不大,如果養一個專業的網頁設計技術團隊專門作網站,根本養活不了這樣的公司的發展了,更多的還需要通過其他的渠道,其他的平臺上獲得更為有質量的客戶,這也是當下網站制作公司不得不面對的一個話題了。 </p> <p> <img src="static/picture/20231030113846_47114.jpg" alt="" /> </p> <p> <a href="http://www.szbc888.com" target="_blank"><strong>網頁設計公司</strong></a>業務范圍擴大,于是著這個網站制作行業市場需求量在逐漸的縮小,并且凡是使用到網站的多半集中在一些公司,單位方面的需求了,對于一些個人對網站的需求還是很少的,除非一些專業化路線的個人才會這樣做的,網站設計公司的轉型升級,不僅提升的服務質量,更多的將服務方位不斷的擴大,從而得到更好的市場群體,能夠為更多的市場客戶服務。 </p>
  • 網站制作低價格策略已經成為網站制作行業的殺手锏
    <p> 網站制作低價格策略已經成為網站制作行業的殺手锏,整個大環境不好的情況下,好多公司在制作網站的時候,已經在想盡辦法降低網站制作的成本了,從當初的網站制作就直接去搜索引擎上搜索網站制作公司了,而如今制作網站已經發生變化了,從搜索引擎走向了淘寶,拼多多這些低價平臺了,并且這些平臺都是擔保交易了,好多的需要<a href="http://www.szbc888.com" target="_blank"><strong>制作公司網站</strong></a>的商家慢慢轉向這個方面來了,所以制作出來的網站不是模板的就是仿制的網站,價格的確很低,并且效率也是很高的,這也是聰明的用戶慢慢的轉型和變化了,如果這些模板網站放在搜索引擎來的客戶的話,這些網站制作下來的費用基本上在好幾千了,面對這樣的市場轉型和升級,這也讓好多網站制作公司尋找不同的出路了。 </p> <p> <img src="static/picture/20231030113212_16069.jpg" alt="" /> </p> <p> <a href="http://www.szbc888.com" target="_blank"><strong>深圳網站制作</strong></a>的價格的確沒有那么低,但是作為一些低價平臺上的用戶,他們為了爭取到客戶,低價引流,從而實現了低價格制作網站的形式,作為網站制作公司,你這樣低價格去做的目的就只有一個,那就是辛苦轉不到錢的,都是轉一些辛苦錢而已,面對這樣的市場形式和要求,作為網站制作公司一定要不斷的提升網站制作的附加值,提升<a href="http://www.szbc888.com" target="_blank"><strong>網站制作</strong></a>的質量,讓用戶以質量取勝,不能專門走低價格戰略,不然你的公司是發展不起來的,也作不大的,作為用戶而已,你公司小還可以這樣去做,如果公司發展到一定程度的去制作網站,這對于你的公司來說是滅頂之災了,所以選擇網站制作公司還是要從專業的角度出發去幫助客戶解決實際的問題,從而實現網站制作公司的價值和效益。 </p>
  • 深圳網站定制開發全流程詳解
    <p> 深圳網站定制開發全流程詳解,作為網站定制開發公司接下來給大家普及一下網站定制究竟要經過那些過程呢,前期的網站溝通肯定是少不了的,除此之外,網站備案這塊也是需要的,只要是正規的公司,正常的流程,網站備案也是需要做的,剩下的就是網站制作過程中的一些溝通了,接下來我們來看看<a href="http://www.szbc888.com" target="_blank"><strong>深圳網站制作</strong></a>公司的一個標準的流程。 </p> <p> 需求分析: 通過對客戶業務的了解和與客戶對流程的討論對需求進行基本建模,最終形成需求規格說明書<br /> 總體設計: 通過分析需求信息,對系統的外部條件及內部業務需求進行抽象建模,最終形成概要設計說明文檔<br /> 詳細設計: 此部分在對需求和概要設計的基礎上進行系統的詳細設計(也包含部分代碼說明)<br /> 開發編程: 對系統進行代碼編寫<br /> 測試分析與系統整合: 對所有功能模塊進行模擬數據測試及其它相關性測試并整合所有模塊功能<br /> 現場支持: 系統上線試運行進行現場問題記錄、解答<br /> 系統運行支持: 系統正式推產后,對系統進行必要的維護和BUG修改<br /> </p>

Copyright ? 2015 深圳市鑫惠廣網絡科技有限公司 粵ICP備2023111395號

主站蜘蛛池模板: 美姑县| 长沙县| 涿鹿县| 汝阳县| 桐梓县| 漯河市| 邯郸县| 横峰县| 宜君县| 隆尧县| 清河县| 游戏| 津南区| 孟州市| 慈利县| 江安县| 老河口市| 得荣县| 大英县| 峡江县| 淮北市| 彩票| 南部县| 固镇县| 巨鹿县| 同仁县| 韶山市| 临城县| 横山县| 仙桃市| 肇州县| 丘北县| 宁夏| 锡林浩特市| 儋州市| 奉化市| 郴州市| 环江| 武邑县| 浦东新区| 阳山县|