網(wǎng)站開發(fā) 手機(jī)APP的開發(fā)和網(wǎng)站的開發(fā)是不是完全不同?
手機(jī)APP的開發(fā)和網(wǎng)站的開發(fā)是不是完全不同?雖然手機(jī)應(yīng)用開發(fā)和網(wǎng)站開發(fā)會(huì)采用不同的編程語言,但是從技術(shù)架構(gòu)的角度來看,手機(jī)應(yīng)用開發(fā)和傳統(tǒng)網(wǎng)站開發(fā)(主要是靜態(tài)的)屬于前端開發(fā)的范疇,所以兩者有很多相似之
手機(jī)APP的開發(fā)和網(wǎng)站的開發(fā)是不是完全不同?
雖然手機(jī)應(yīng)用開發(fā)和網(wǎng)站開發(fā)會(huì)采用不同的編程語言,但是從技術(shù)架構(gòu)的角度來看,手機(jī)應(yīng)用開發(fā)和傳統(tǒng)網(wǎng)站開發(fā)(主要是靜態(tài)的)屬于前端開發(fā)的范疇,所以兩者有很多相似之處。目前,許多開發(fā)團(tuán)隊(duì)已經(jīng)將web前端開發(fā)和移動(dòng)端開發(fā)集成到前端開發(fā)團(tuán)隊(duì)中。事實(shí)上,對于前端開發(fā)人員來說,也提出了新的要求,即進(jìn)一步拓展自己的知識(shí)面。
例如,android應(yīng)用的開發(fā)分為兩部分:一部分是基于互聯(lián)網(wǎng)的,另一部分是基于開放應(yīng)用的是的,它相當(dāng)廣泛。
隨著物聯(lián)網(wǎng)的不斷發(fā)展,未來移動(dòng)互聯(lián)網(wǎng)和物聯(lián)網(wǎng)將深度融合。因此,未來移動(dòng)終端的發(fā)展將覆蓋物聯(lián)網(wǎng)領(lǐng)域,這也需要開發(fā)者在一定程度上更新自己的知識(shí)。一般來說,移動(dòng)終端的發(fā)展對業(yè)務(wù)邏輯仍有一定的要求,存在一定的發(fā)展難度。然而,隨著云計(jì)算技術(shù)的逐漸成熟,移動(dòng)終端的開發(fā)難度也在下降。
從技術(shù)體系上看,移動(dòng)終端的發(fā)展需要掌握三個(gè)部分。一是Android開發(fā)技術(shù),涉及Java和kotlin編程語言;二是IOS開發(fā),涉及OC和swift編程語言;三是各種移動(dòng)web開發(fā)和小程序開發(fā),主要涉及JavaScript語言。
與移動(dòng)終端開發(fā)相比,web前端開發(fā)主要涉及HTML、CSS、JavaScript等一系列開發(fā)框架。隨著nodejs的應(yīng)用,web前端開發(fā)人員也需要掌握一定的后端開發(fā)知識(shí)。
為什么網(wǎng)上有人說WEB開發(fā)沒技術(shù)含量?
一個(gè)非常好的問題。我是一個(gè)web應(yīng)用程序架構(gòu)師,多年來一直致力于回答這個(gè)問題。歡迎跟我來了解更多。
基本上,所有行業(yè)都需要開發(fā)網(wǎng)站。web開發(fā)技術(shù)含量低的觀點(diǎn)在某些應(yīng)用場景中是正確的。
這種web應(yīng)用以靜態(tài)信息顯示為主要目的,如企業(yè)官方網(wǎng)站、私人網(wǎng)站等。由于沒有動(dòng)態(tài)交互功能,所以開發(fā)主要是HTML和CSS,靜態(tài)頁面維護(hù)可以結(jié)合后臺(tái)管理工具的使用,這些功能都有一個(gè)成熟的開發(fā)框架,統(tǒng)稱為CMS內(nèi)容管理系統(tǒng)。
如果網(wǎng)站有復(fù)雜的業(yè)務(wù)邏輯,比如電子商務(wù)、直播等系統(tǒng),不僅功能復(fù)雜,而且支持高并發(fā)、高可用,技術(shù)指標(biāo)非常高。大家都知道淘寶網(wǎng)站,沒人說技術(shù)含量低。
用戶看到的web應(yīng)用程序只是顯示的客戶端,后臺(tái)服務(wù)是系統(tǒng)的核心。為了滿足越來越復(fù)雜的需求,現(xiàn)在web開發(fā)的功能和架構(gòu)也越來越復(fù)雜,多層架構(gòu)、數(shù)據(jù)中心、動(dòng)靜分離、集群部署、自動(dòng)運(yùn)維等。比如淘寶雙11,為了應(yīng)對流量高峰,后臺(tái)服務(wù)進(jìn)行了很多技術(shù)升級。
舉個(gè)真實(shí)的例子。在參加虹口市科創(chuàng)組織的創(chuàng)業(yè)活動(dòng)時(shí),遇到一位朋友,他投資100萬元為陌生人開發(fā)了一款社交應(yīng)用,頁面刷新延遲時(shí)間超過10秒。如何將這種用戶體驗(yàn)用于營銷?
經(jīng)過分析,問題出在后臺(tái)接口服務(wù)上。為什么web界面會(huì)延遲這么長時(shí)間?前端應(yīng)用刷新頁面時(shí),調(diào)用后端服務(wù)rest接口讀取信息,直接讀取數(shù)據(jù)庫,查詢多個(gè)表。作為基礎(chǔ)數(shù)據(jù)層,如果不使用緩存系統(tǒng),做一點(diǎn)營銷,就不需要太多用戶造成系統(tǒng)雪崩。
為什么很多看起來不復(fù)雜的網(wǎng)站,卻需要頂尖的程序員來開發(fā)?
有些網(wǎng)站看起來很簡單,還可以實(shí)現(xiàn)基本的登錄、注冊、查詢等操作。實(shí)際上,函數(shù)非常簡單。即使是初學(xué)者學(xué)習(xí)編程也能做到。
當(dāng)然,這是要完成的基本功能。底層程序員考慮的是功能的實(shí)現(xiàn),而基于功能的互聯(lián)網(wǎng)站則要求更高的安全性和并發(fā)性??傊δ芊浅:唵?,但要實(shí)現(xiàn)高并發(fā)性并不容易。同時(shí),網(wǎng)站運(yùn)營過程中會(huì)出現(xiàn)很多漏洞,等待修復(fù)。
初級程序員覺得所有的網(wǎng)站在一開始就取得了很多成就之后都太簡單了。你可以自己做。實(shí)際上,您只能處理函數(shù)。千萬人不可能同時(shí)參觀。感謝上帝,你可以保證成千上萬的人。
所以此時(shí)的狀態(tài)仍然保持在功能級別。但是互聯(lián)網(wǎng)項(xiàng)目需要高并發(fā)性。
對于大型互聯(lián)網(wǎng)項(xiàng)目,除了開發(fā)功能需求,更重要的是優(yōu)化。例如,構(gòu)建云服務(wù)器集群、更改bug、優(yōu)化流程等等。因此,互聯(lián)網(wǎng)項(xiàng)目似乎仍然需要頂尖程序員的開發(fā)。因?yàn)樗麄冎赖母唷?/p>
我認(rèn)為作為一個(gè)程序員,我們應(yīng)該一直遵循學(xué)習(xí)的狀態(tài)。繼續(xù)學(xué)習(xí)。來吧。
軟件開發(fā)、網(wǎng)站開發(fā)有區(qū)別嗎?
謝謝。我是一名軟件工程師。首先我要明確的是,軟件開發(fā)的范圍非常大,包括游戲開發(fā)、網(wǎng)站開發(fā)、手機(jī)應(yīng)用開發(fā)等等。
因此,網(wǎng)站開發(fā)屬于軟件開發(fā)的范疇,網(wǎng)站開發(fā)主要采用B/S架構(gòu),B代表瀏覽器,S代表服務(wù)器。由此可見,網(wǎng)站的開發(fā)還包括前端和后端兩部分。
前端負(fù)責(zé)開發(fā)web界面,還控制用戶數(shù)據(jù)和服務(wù)器數(shù)據(jù)之間的交互。
常見技術(shù)包括HTML和JavaScript。Html用于編寫網(wǎng)頁的外觀。JavaScript控制著網(wǎng)頁數(shù)據(jù)處理的邏輯,還可以處理圖形交互的動(dòng)畫效果。
下圖是前端工程師的思維導(dǎo)圖:
后端負(fù)責(zé)服務(wù)器的代碼開發(fā)。目前,服務(wù)器的主流語言是Java。作為一名java開發(fā)工程師,我主要談?wù)搄ava。
Java知識(shí)很深,但歸根結(jié)底,Java的主要目的是對服務(wù)器端的數(shù)據(jù)庫進(jìn)行合理的管理,處理數(shù)據(jù)變化和數(shù)據(jù)傳輸,保證前端數(shù)據(jù)能夠得到有效的反饋,保證網(wǎng)站的數(shù)據(jù)能夠穩(wěn)定、連續(xù)地輔助網(wǎng)站的運(yùn)行網(wǎng)站。
事實(shí)上,網(wǎng)站開發(fā)過程是軟件開發(fā)的縮影,開發(fā)原則是相互聯(lián)系的。