App下載

簡(jiǎn)單介紹一下web開(kāi)發(fā)中用到的一些技術(shù)

猿友 2021-02-06 18:09:41 瀏覽數(shù) (4205)
反饋

一、標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(SGML)

1.HTML

即超文本標(biāo)記語(yǔ)言(HyperText Markup Language),超文本指頁(yè)面內(nèi)可以包含圖片、音樂(lè)、鏈接甚至程序等非文字元素,如果只用HTML 則只能做靜態(tài)網(wǎng)頁(yè)。

靜態(tài)網(wǎng)頁(yè):指不含數(shù)據(jù)庫(kù)、不含程序和不可交互的網(wǎng)頁(yè),適用于更新較少的展示型網(wǎng)頁(yè),運(yùn)行于客戶端,通常以 .html 或 .htm 或 .xml 或 .shtml 為后綴。無(wú)需經(jīng)過(guò)服務(wù)器編譯便可直接加載到客戶瀏覽器上顯示出來(lái),占用一定的服務(wù)器空間??稍陟o態(tài)網(wǎng)頁(yè)中加入 flash、 java 小程序、ActiveX 控件以及客戶端腳本,這些都由程序員事先編寫(xiě)好放到服務(wù)器上。

動(dòng)態(tài)網(wǎng)頁(yè):動(dòng)態(tài)網(wǎng)頁(yè)在服務(wù)器端運(yùn)行,在不同時(shí)間會(huì)根據(jù)不同用戶返回不同的網(wǎng)頁(yè),與服務(wù)器發(fā)生交互行為。以數(shù)據(jù)庫(kù)為基礎(chǔ),可實(shí)現(xiàn)用戶的注冊(cè)、登錄、用戶管理等操作。動(dòng)態(tài)網(wǎng)頁(yè)并不是獨(dú)立存在于服務(wù)器上的網(wǎng)頁(yè)文件,只有在客戶端發(fā)出請(qǐng)求后才返回一個(gè)完整的網(wǎng)頁(yè)。后綴可以為.jsp或.php或.asp或.cgi。

ActiveX控件:在靜態(tài)頁(yè)面中加入可以運(yùn)行在瀏覽器上的程序,是靜態(tài)的,現(xiàn)在的瀏覽器基本以不支持。

applet:“l(fā)et”詞綴表示“小”,applet 表示用 Java 編寫(xiě)的小應(yīng)用程序(JavaApplet),即靜態(tài)的,該程序可以包含在 HTML 頁(yè)面中,與在頁(yè)面中包含圖像的方式大致相同,即<applet></appltet>一對(duì)標(biāo)記。當(dāng)支持 Java 的瀏覽器遇到這對(duì)標(biāo)記時(shí),便下載相應(yīng)的小程序代碼在本地運(yùn)行,已經(jīng)淘汰,取而代之 JavaFX。

servlet:即 server applet,applet 擴(kuò)充了網(wǎng)絡(luò)瀏覽器的能力,而 servlet 擴(kuò)充了網(wǎng)絡(luò)服務(wù)器的能力。servlet 的功能在于交互地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài) web 內(nèi)容,其過(guò)程為:客戶端發(fā)送請(qǐng)求到服務(wù)器,服務(wù)器將請(qǐng)求信息發(fā)送到 servlet,servlet 生成相應(yīng)內(nèi)容被發(fā)送到服務(wù)器,服務(wù)器將響應(yīng)發(fā)送至客戶端。applet 與servlet 均沒(méi)有 main 函數(shù)。(比喻:JSP是服務(wù)員,servlet 是看完菜單告知哪個(gè)廚師來(lái)做飯的前臺(tái)。)JSP 顯示頁(yè)面和接收用戶的信息,而 servlet 主要負(fù)責(zé)頁(yè)面和業(yè)務(wù)層的信息交互。

CGI程序:是運(yùn)行在網(wǎng)絡(luò)服務(wù)器上的一個(gè)程序,作用與 servlet 相似。但已被 servlet 替代,因?yàn)?CGI 程序每當(dāng)客戶端發(fā)出一個(gè)新的請(qǐng)求,便要建立一個(gè)新的 CGI 實(shí)例,占用了大量的內(nèi)存資源,用于實(shí)際開(kāi)發(fā)很困難。而 servlet 被用戶發(fā)送的第一個(gè)請(qǐng)求激活后,繼續(xù)運(yùn)行于后臺(tái)等待以后的請(qǐng)求,每個(gè)請(qǐng)求將生成一個(gè)新的線程而不是一個(gè)完整的進(jìn)程,多個(gè)客戶可以在同一個(gè)進(jìn)程中同時(shí)得到服務(wù)。

css:即層疊樣式表(cascading style sheets)是用于網(wǎng)頁(yè)排版的標(biāo)記性語(yǔ)言,能對(duì)網(wǎng)頁(yè)中的排版進(jìn)行像素級(jí)控制,主要用于對(duì)網(wǎng)頁(yè)中的字體、顏色、圖像、背景等其他元素進(jìn)行控制,是對(duì) HTML 的補(bǔ)充?!癏TML+CSS”可以實(shí)現(xiàn)靜態(tài)網(wǎng)頁(yè)。

div+css:div 是 HTML 中的一個(gè)標(biāo)簽元素,為布局元素。div 可以理解成一個(gè)矩形框,css 控制這個(gè)矩形框在什么地方。CSS3 是 CSS 的一個(gè)標(biāo)準(zhǔn),HTML5 是 HTML 的一個(gè)標(biāo)準(zhǔn)。

單頁(yè)面:整個(gè)頁(yè)面就是一個(gè)靜態(tài)的不刷新的 HTML 頁(yè)面,例如QQ空間中從日志到相冊(cè),整個(gè)頁(yè)面并沒(méi)有刷新,而是中間的主體內(nèi)容進(jìn)行局部替換。

圖靈機(jī):圖靈機(jī)可以理解成對(duì)人們使用紙筆進(jìn)行運(yùn)算的抽象,分為兩個(gè)步驟,在紙上寫(xiě)或擦出某個(gè)符號(hào),下一步動(dòng)作取決于當(dāng)前所關(guān)注的符號(hào)和此時(shí)的思維邏輯。

圖靈完備:即 Turing Completeness,判斷圖靈完備的方法就是看該語(yǔ)言能否模擬出圖靈機(jī)。

2.XML

即可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language),和 html 相比,xml 允許用戶對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義。

3.XHTML

即可擴(kuò)展超文本標(biāo)記語(yǔ)言,比 HTML 語(yǔ)法更嚴(yán)格

二、前端

1.腳本語(yǔ)言(scripting language)

腳本語(yǔ)言又被稱為擴(kuò)建的語(yǔ)言或者動(dòng)態(tài)語(yǔ)言,通常以文本保存,只有在被調(diào)用時(shí)才進(jìn)行解釋或編譯。

2.JavaScript(js)

是一種腳本語(yǔ)言, 動(dòng)態(tài)類(lèi)型、弱類(lèi)型、基于原型的語(yǔ)言,內(nèi)置支持類(lèi)型。用于 嵌入 HTML 網(wǎng)頁(yè)增加動(dòng)態(tài)功能,向 HTML 頁(yè)面提供交互功能, 亦可寫(xiě)成單獨(dú)的 js 文件便于結(jié)構(gòu)和行為的分離。最早由 Netscape 公司實(shí)現(xiàn),因與 Sun 公司合作,便取名 JavaScript。微軟推出了 JScript,都可以統(tǒng)稱兼容 ECMASript。后綴名為.js的文件就是 JavaScript 文件。可用于多平臺(tái)多操作系統(tǒng)。被大多數(shù)瀏覽器支持。
動(dòng)態(tài)類(lèi)型:運(yùn)行期才做類(lèi)型檢查靜態(tài)類(lèi)型:編譯期進(jìn)行數(shù)據(jù)類(lèi)型檢查弱類(lèi)型:語(yǔ)言運(yùn)行時(shí)會(huì)隱式的做數(shù)據(jù)類(lèi)型轉(zhuǎn)換強(qiáng)類(lèi)型:語(yǔ)言運(yùn)行時(shí)確保不會(huì)做未授意的類(lèi)型轉(zhuǎn)換基于原型的語(yǔ)言:如 JavaScript,只有對(duì)象沒(méi)有類(lèi),是對(duì)象繼承對(duì)象,而不是類(lèi)繼承類(lèi)?;陬?lèi)型的語(yǔ)言:如 Java

特性(動(dòng)態(tài)性):是一種采用事件驅(qū)動(dòng)的腳本語(yǔ)言,不需要服務(wù)器的支持,便可直接響應(yīng)用戶的輸入。在訪問(wèn)一個(gè)頁(yè)面時(shí),用鼠標(biāo)上移下移點(diǎn)擊都可以通過(guò) JavaScript 對(duì)其進(jìn)行響應(yīng)。因此早期程序員喜歡通過(guò) JavaScript 減輕服務(wù)器的負(fù)擔(dān),然而不安全,隨著服務(wù)器的強(qiáng)壯,現(xiàn)在程序員喜歡使用在服務(wù)端的腳本來(lái)保證安全。有些特殊功能如 ajax 比如依賴 JavaScript 在客戶端進(jìn)行支持?,F(xiàn)在 JavaScript 逐漸被用來(lái)編寫(xiě)服務(wù)器端程序。

3.VBSript(VBS)

basic 語(yǔ)言起初是非結(jié)構(gòu)化語(yǔ)言,后來(lái)經(jīng)過(guò)完善成為結(jié)構(gòu)化語(yǔ)言(Visual Basic,即VB),同時(shí)VB也是開(kāi)發(fā)環(huán)境。

Microsoft Visual C++(簡(jiǎn)稱Visual C++、MSVC、VC++或VC)為微軟公司的 C++開(kāi)發(fā)工具。

VBS是微軟環(huán)境下的輕量級(jí)的解釋性腳本語(yǔ)言。

4.Ajax

即異步 JavaScript 和 XML(Asynchronous Javascript And XML),是一種能夠不刷新整個(gè)網(wǎng)頁(yè)的前提下還能更新部分網(wǎng)頁(yè)的技術(shù)。通過(guò)后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。

5.JSON

即 JS 對(duì)象標(biāo)記(JavaScript Object Notation),是一種輕量級(jí)數(shù)據(jù)交換格式,能夠代替 XML 的工作,即可以處理前端(JavaScript)和后臺(tái)(web 服務(wù)器端)之間的數(shù)據(jù)交互。特點(diǎn)是易于人們的讀寫(xiě)習(xí)慣,易于機(jī)器的分析和運(yùn)行,形式為一個(gè)以鍵值對(duì)形式表示的字符串。JSON 跨語(yǔ)言,在移動(dòng)端(Android、IOS)數(shù)據(jù)都可以由 JSON 來(lái)傳輸。

6.boostrap

Bootstrap,來(lái)自 Twitter,是目前最受歡迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript的,它在jQuery的基礎(chǔ)上進(jìn)行了更為個(gè)性化和人性化的完善,形成一套自己獨(dú)有的網(wǎng)站風(fēng)格,并兼容大部分jQuery插件。

7.angular.jsJQuery

AngularJS是為了克服HTML在構(gòu)建應(yīng)用上的不足而設(shè)計(jì)的。AngularJS有著諸多特性,最為核心的是:MVC、模塊化、自動(dòng)化雙向數(shù)據(jù)綁定、語(yǔ)義化標(biāo)簽、依賴注入等等。HTML是一門(mén)很好的為靜態(tài)文本展示設(shè)計(jì)的聲明式語(yǔ)言。

jQuery 使用戶可以更加方便地處理 HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)、events、實(shí)現(xiàn)動(dòng)畫(huà)效果,而且方便地為網(wǎng)站提供AJAX交互。

8.前端編輯器

Webstorm:重量級(jí)編輯器,當(dāng)前段項(xiàng)目配置了各種的 grunt,bower,angular 后你會(huì)發(fā)現(xiàn)你很需要它。Brackets:適合寫(xiě) CSS。Dreamweaver:“所見(jiàn)即所得”HBuilder:適合寫(xiě) H5,相對(duì)厚重。Sublime:相當(dāng)于一個(gè)升級(jí)版的記事本,有著強(qiáng)大的插件,建議安裝兩個(gè)(packagecontrol和emmet),輕量級(jí)編輯器,小巧智能。notepad++:插件多

三、后臺(tái)

1.JSP(J2EE)

即 Java 服務(wù)器頁(yè)面(JAVA Server Pages),是一種動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)語(yǔ)言,有點(diǎn)類(lèi)似于 ASP 技術(shù),在傳統(tǒng)的 HTML 頁(yè)面文件(后綴名為*.htm或*.html)中插入 Java 程序段(Scriptlet)和 JSP 標(biāo)記(tag),從而形成 JSP 文件,后綴名*.jsp。JSP 開(kāi)發(fā)的 web 應(yīng)用是跨平臺(tái)的,可以運(yùn)行在 Linux 或者其他操作系統(tǒng)下。它實(shí)現(xiàn)了 HTML 中的 Java 擴(kuò)展(以<%,%>形式),jsp 與 servlet 一樣運(yùn)行在服務(wù)器端,將一個(gè) HTML 文件返回給客戶端,因此客戶端有瀏覽器就可以瀏覽。servlet 是 JSP 的基礎(chǔ),大型的 web 應(yīng)用開(kāi)發(fā)眾需要 servlet 和 JSP 同時(shí)配合。JSP 與 servlet 的關(guān)系:JSP 是 servlet 的擴(kuò)展,在 JSP 之前就有 servlet 了。有客戶端, web服務(wù)器(web server)和應(yīng)用服務(wù)器(application server),客戶端發(fā)出請(qǐng)求,web 服務(wù)器接受 http 請(qǐng)求,如果是 HTML、css 等靜態(tài)資源則 web 服務(wù)器可以自行處理 ,如果遇到動(dòng)態(tài)資源比如 jsp 時(shí)便將請(qǐng)求轉(zhuǎn)至應(yīng)用服務(wù)器中,由應(yīng)用服務(wù)器處理。應(yīng)用服務(wù)器也具有處理http 請(qǐng)求的能力,可能沒(méi)有 web 服務(wù)器那么專業(yè), 應(yīng)用服務(wù)器同時(shí)也包含 web 容器。在應(yīng)用服務(wù)器中,jsp 轉(zhuǎn)換成 servlet,在 servlet 容器中檢索是否已經(jīng)存在匹配的 servlet 實(shí)例,若沒(méi)有則由 servlet 容器加載并實(shí)例化這個(gè) servlet 類(lèi)的一個(gè)實(shí)例對(duì)象,再有servlet 容器初始化并運(yùn)行;若 servlet 容器中已存在,則直接運(yùn)行。
web服務(wù)器:代表Nginx、IIS、Apache。 “相當(dāng)于前臺(tái)接待”。
應(yīng)用服務(wù)器:代表Bea WebLogic、IBM WebSphere、JBoss、Tomcat。Tomcat是Apache的擴(kuò)展可以獨(dú)立于Apache運(yùn)行?!跋喈?dāng)于真正的價(jià)值服務(wù)者”。
servlet容器:管理 servlet 的生命周期,存在于應(yīng)用服務(wù)器中。Tomcat 既可以看成是 servlet 容器又可以看成是 web 容器,既可以處理靜態(tài)資源又可以處理動(dòng)態(tài)的 servlet。 故可以使用兩個(gè)獨(dú)立的服務(wù)器比如 Nginx 和 WebLogic,也可以只用一個(gè) Tomcat。

2.PHP和ruby

php:超文本預(yù)處理器(hypertext preprocessor),是一種 基于對(duì)象的開(kāi)源腳本語(yǔ)言,用于 web 后臺(tái)開(kāi)發(fā)。
ruby: 面向?qū)ο蟮暮笈_(tái)腳本語(yǔ)言。基于對(duì)象:不提供抽象、重載和繼承面向?qū)ο螅禾峁┏橄蟆⒅剌d和繼承

3.NetBeans

一款 用Java 編寫(xiě)的主要用于后臺(tái)開(kāi)發(fā)的 IDE。

4.Node.js

是一種 JavaScript 的運(yùn)行環(huán)境(runtime),是目前速度最快的 JavaScript 引擎,使 JavaScript 能脫離瀏覽器運(yùn)行。對(duì) Chrome V8 引擎進(jìn)行了封裝。使用事件驅(qū)動(dòng),非阻塞 I/O 模型而得以輕量而高效。

用處:是 JavaScript 運(yùn)行環(huán)境,也就是說(shuō)能在服務(wù)器上跑 JavaScript 代碼,讓 JavaScript 實(shí)現(xiàn)服務(wù)器上的開(kāi)發(fā)。一般是 js 程序員在用,屬于后端技術(shù)。

JavaScript 引擎:是一種專門(mén)處理 JavaScript 腳本的虛擬機(jī),一般會(huì)符帶在瀏覽器中。

四、ASP、ASP.NET與.NET

ASP:類(lèi)似于JSP和PHP,是一種后臺(tái)開(kāi)發(fā)技術(shù)。
.NET:是一個(gè) 平臺(tái),不是語(yǔ)言,包括運(yùn)行時(shí)的環(huán)境和開(kāi)發(fā)的環(huán)境??梢栽?.NET 平臺(tái)上用不同的語(yǔ)言開(kāi)發(fā),例如 C#,VB.NET,HTML,F(xiàn)#,VC++.NET。有點(diǎn)類(lèi)似于 java。JAVA 語(yǔ)言也是 java 平臺(tái)中的一個(gè)語(yǔ)言的名字,C# 同樣是 .NET 平臺(tái)中一個(gè)語(yǔ)言的名字, 即 java 跨平臺(tái),.NET 跨語(yǔ)言。java 開(kāi)源,.NET 由微軟開(kāi)發(fā)不開(kāi)源。java 編寫(xiě)完一次后可以再 Linux 上或其它操作系統(tǒng)上運(yùn)行,.NET 只適用于微軟,所以  java 跨平臺(tái),.NET 不跨平臺(tái)。
ASP.NET(又稱ASP+):是基于 .NET Framework 的 web 開(kāi)發(fā) 平臺(tái)。一般前端用 HTML+css,后端用 C#。.NET Framework:是 .NET 開(kāi)發(fā)的軟件運(yùn)行所必需的框架(framework)、運(yùn)行環(huán)境。


0 人點(diǎn)贊