身處互聯(lián)網(wǎng)信息時(shí)代,打開電腦,翻看移動設(shè)備,網(wǎng)站,web端應(yīng)用,小程序,App隨處可見,這些IT產(chǎn)品的建立、開發(fā)都匯集了多種技術(shù),前端,后端,數(shù)據(jù)庫,架構(gòu),框架,腳本,編程語言,UI,UX……種類繁多,讓人不自覺地眼花繚亂,我們的工作室整理了一部分相關(guān)資料予以分享,以供讀者學(xué)習(xí),交流。
網(wǎng)站作為傳統(tǒng)互聯(lián)網(wǎng)時(shí)代的內(nèi)容傳播方式和平臺,在如今仍然占據(jù)著舉足輕重的地位,雖然往日不同今日,網(wǎng)站的內(nèi)容仍然像是藍(lán)海一樣,蘊(yùn)藏著無數(shù)的創(chuàng)意和大量的有效內(nèi)容。
下面我們來盤點(diǎn)網(wǎng)站的開發(fā)語言:
用于網(wǎng)站開發(fā)的計(jì)算機(jī)語言
前端語言
前端編程語言用于定義網(wǎng)頁的結(jié)構(gòu)和外觀,包括HTML、CSS和JavaScript
HTML
超文本標(biāo)記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用于創(chuàng)建網(wǎng)頁的標(biāo)準(zhǔn)標(biāo)記語言。HTML是一種基礎(chǔ)技術(shù),常與CSS、JavaScript一起被眾多網(wǎng)站用于設(shè)計(jì)網(wǎng)頁、網(wǎng)頁應(yīng)用程序以及移動應(yīng)用程序的用戶界面。網(wǎng)頁瀏覽器可以讀取HTML文件,并將其渲染成可視化網(wǎng)頁。HTML描述了一個(gè)網(wǎng)站的結(jié)構(gòu)語義隨著線索的呈現(xiàn),使之成為一種標(biāo)記語言而非編程語言。
HTML元素是構(gòu)建網(wǎng)站的基石。HTML允許嵌入圖像與對象,并且可以用于創(chuàng)建交互式表單,它被用來結(jié)構(gòu)化信息——例如標(biāo)題、段落和列表等等,也可用來在一定程度上描述文檔的外觀和語義。HTML的語言形式為尖括號包圍的HTML元素(如<html>),瀏覽器使用HTML標(biāo)簽和腳本來詮釋網(wǎng)頁內(nèi)容,但不會將它們顯示在頁面上。
HTML可以嵌入如JavaScript的腳本語言,它們會影響HTML網(wǎng)頁的行為。網(wǎng)頁瀏覽器也可以引用層疊樣式表(CSS)來定義文本和其它元素的外觀與布局。維護(hù)HTML和CSS標(biāo)準(zhǔn)的組織萬維網(wǎng)聯(lián)盟(W3C)鼓勵(lì)人們使用CSS替代一些用于表現(xiàn)的HTML元素。
目前最高版本是HTML5
CSS
層疊樣式表(英語:Cascading Style Sheets,縮寫:CSS;又稱串樣式列表、級聯(lián)樣式表、串接樣式表、階層式樣式表)是一種用來為結(jié)構(gòu)化文檔(如HTML文檔或XML應(yīng)用)添加樣式(字體、間距和顏色等)的計(jì)算機(jī)語言,由W3C定義和維護(hù)。CSS3現(xiàn)在已被大部分現(xiàn)代瀏覽器支持,而下一版的CSS4仍在開發(fā)中。
CSS不僅可以靜態(tài)地修飾網(wǎng)頁,還可以配合各種腳本語言動態(tài)地對網(wǎng)頁各元素進(jìn)行格式化。CSS能夠?qū)W(wǎng)頁中元素位置的排版進(jìn)行像素級精確控制,支持幾乎所有的字體字號樣式,擁有對網(wǎng)頁對象和模型樣式編輯的能力。
目前最高版本是CSS4(早在2011年9月29日W3C就開始了設(shè)計(jì)CSS4,但是時(shí)至今日只有極少數(shù)的功能被部分網(wǎng)頁瀏覽器支持,如使用在HTML而非SVG上的pointer-events。CSS4增加了一些更方便的選擇器,并簡化了一些現(xiàn)有選擇器的用法。
更多的仍然是使用CSS3。
JavaScript
JavaScript(通常縮寫為JS)是一門基于原型和頭等函數(shù)的多范式高級解釋型編程語言,它支持面向?qū)ο蟪绦蛟O(shè)計(jì)、指令式編程和函數(shù)式編程。它提供方法來操控文本、數(shù)組、日期以及正則表達(dá)式等。不支持I/O,比如網(wǎng)絡(luò)、存儲和圖形等,但這些都可以由它的宿主環(huán)境提供支持。它由ECMA(歐洲電腦制造商協(xié)會)通過ECMAScript實(shí)現(xiàn)語言的標(biāo)準(zhǔn)化。目前,它被世界上的絕大多數(shù)網(wǎng)站所使用,也被世界主流瀏覽器(Chrome、IE、Firefox、Safari和Opera)所支持。
JavaScript與Java在名字和語法上都很相似,但這兩門編程語言從設(shè)計(jì)之初就有很大不同。JavaScript在語言設(shè)計(jì)上主要受到了Self(一種基于原型的編程語言)和Scheme(一門函數(shù)式編程語言)的影響,在語法結(jié)構(gòu)上它和C語言很相似(如if條件語句、switch語句、while循環(huán)和do-while循環(huán)等)。
對于客戶端來說,JavaScript通常被實(shí)現(xiàn)為一門解釋語言,但如今它已經(jīng)可以被即時(shí)編譯(JIT)。隨著HTML5和CSS3語言標(biāo)準(zhǔn)的推行,它還可以用于游戲、桌面和移動應(yīng)用程序的開發(fā),以及在服務(wù)器端網(wǎng)絡(luò)環(huán)境運(yùn)行(如Node.js)。
JavaScript語言最初命名為Mocha,后更名為LiveScript,后開發(fā)此門語言的公司聯(lián)盟為將這門語言搭上Java這個(gè)編程語言“熱詞”,改名為:“JavaScript”。
JavaScript語言有很多工具庫(Library),用來實(shí)現(xiàn)不同用途和功能。
后端語言
后端編程語言用于處理用戶請求、生成網(wǎng)頁內(nèi)容和存儲數(shù)據(jù),包括PHP、Python、Java、Ruby等。
PHP
PHP(全稱:PHP:Hypertext Preprocessor,即“PHP:超文本預(yù)處理器”)是一種開源的通用計(jì)算機(jī)腳本語言,尤其適用于網(wǎng)絡(luò)開發(fā)并可嵌入HTML中使用。PHP的語法借鑒吸收C語言、Java和Perl等流行計(jì)算機(jī)語言的特點(diǎn),易于一般程序員學(xué)習(xí)。PHP的主要目標(biāo)是允許網(wǎng)絡(luò)開發(fā)人員快速編寫動態(tài)頁面,但PHP也被用于其他很多領(lǐng)域。
PHP的應(yīng)用范圍相當(dāng)廣泛,尤其是在網(wǎng)頁程序的開發(fā)上。一般來說PHP大多執(zhí)行在網(wǎng)頁服務(wù)器上,通過執(zhí)行PHP代碼來產(chǎn)生用戶瀏覽的網(wǎng)頁。PHP可以在多數(shù)的服務(wù)器和操作系統(tǒng)上執(zhí)行。根據(jù)2013年4月的統(tǒng)計(jì)資料,PHP已經(jīng)被安裝在超過2億4400萬個(gè)網(wǎng)站和210萬臺服務(wù)器上。
PHP在Windows上有專門的官方移植編譯項(xiàng)目,并且分多個(gè)VC編譯器版本和線程安全特性來提供不同的版本支持。
根據(jù)W3Techs的報(bào)告,截至2023年7月:“有77.4%的網(wǎng)站使用PHP?!?。只有14%的網(wǎng)站正在使用當(dāng)前支持的php8,又20.6%的網(wǎng)站正在使用不安全的php5版本。
最新版本為:PHP8
Python
Python(英國發(fā)音:/?pa?θ?n/;美國發(fā)音:/?pa?θɑ?n/),是一種廣泛使用的解釋型、高級和通用的編程語言。Python支持多種編程范型,包括結(jié)構(gòu)化、過程式、反射式、面向?qū)ο蠛秃瘮?shù)式編程。它擁有動態(tài)類型系統(tǒng)和垃圾回收功能,能夠自動管理內(nèi)存使用,并且其本身擁有一個(gè)巨大而廣泛的標(biāo)準(zhǔn)庫。它的語言結(jié)構(gòu)以及面向?qū)ο蟮姆椒ǎ荚趲椭绦騿T為小型的和大型的項(xiàng)目編寫邏輯清晰的代碼。
吉多·范羅蘇姆于1980年代后期開始研發(fā)Python,Python 2于2020年隨2.7.18版停止支持。Python 3.0于2008年12月發(fā)布。
Python的設(shè)計(jì)哲學(xué),強(qiáng)調(diào)代碼的可讀性和簡潔的語法,尤其是使用空格縮進(jìn)來劃分代碼塊。相比于C語言或Java,Python讓開發(fā)者能夠用更少的代碼表達(dá)想法。
Python解釋器本身幾乎可以在所有的操作系統(tǒng)中運(yùn)行,它的官方解釋器CPython是用C語言編寫的。Python是一個(gè)由社群驅(qū)動的自由軟件,目前由Python軟件基金會管理。Python是最受歡迎的編程語言之一。
最新版本python 3.12。
Java
Java是一種廣泛使用的計(jì)算機(jī)編程語言,擁有跨平臺、面向?qū)ο蟆⒎盒途幊痰奶匦?,廣泛應(yīng)用于企業(yè)級Web應(yīng)用開發(fā)和移動應(yīng)用開發(fā)。
任職于Sun微系統(tǒng)的詹姆斯·高斯林等人于1990年代初開發(fā)Java語言的雛形,最初被命名為Oak,目標(biāo)設(shè)置在家用電器等小型系統(tǒng)的編程語言,應(yīng)用在電視機(jī)、電話、鬧鐘、烤面包機(jī)等家用電器的控制和通信。由于這些智能化家電的市場需求沒有預(yù)期的高,Sun微系統(tǒng)放棄了該項(xiàng)計(jì)劃。隨著1990年代互聯(lián)網(wǎng)的發(fā)展,Sun微系統(tǒng)看見Oak在互聯(lián)網(wǎng)上應(yīng)用的前景,于是改造了Oak,于1995年5月以Java的名稱正式發(fā)布。Java伴隨著互聯(lián)網(wǎng)的迅猛發(fā)展而發(fā)展,逐漸成為重要的網(wǎng)絡(luò)編程語言。
Java編程語言的風(fēng)格十分接近C++語言。繼承了C++語言面向?qū)ο蠹夹g(shù)的核心,舍棄了容易引起錯(cuò)誤的指針,以引用取代;移除了C++中的運(yùn)算符重載和多重繼承特性,用接口取代;增加垃圾回收器功能。Java語言的特點(diǎn)是面向?qū)ο螅缙脚_,自動垃圾回收。
目前最新版本是2022年9月有Oracle公司發(fā)布的Java SE 19。
Ruby
Ruby是一種面向?qū)ο蟆⒅噶钍?、函?shù)式、動態(tài)的通用編程語言。在20世紀(jì)90年代中期由日本計(jì)算機(jī)科學(xué)家松本行弘(Matz)設(shè)計(jì)并開發(fā)。
遵守BSD許可證和Ruby License。它的靈感與特性來自于Perl、Smalltalk、Eiffel、Ada以及Lisp語言。由Ruby語言本身還發(fā)展出了JRuby(Java平臺)、IronRuby(.NET平臺)等其他平臺的Ruby語言替代品。
Ruby版本號的構(gòu)成形式是(MAJOR).(MINOR).(TEENY),均為只有1位的整數(shù);如“1.8.6”、“1.9.3”。1.9版系統(tǒng)的TEENY不小于1時(shí)為穩(wěn)定版,TEENY為0的版本是開發(fā)版。在1.9之前的版本中偶數(shù)MINOR代表穩(wěn)定版,奇數(shù)MINOR代表開發(fā)版。
數(shù)據(jù)庫
用于存儲數(shù)據(jù),MySQL,PostgreSQL,MangoDB