小追兵專欄
作為入行不久,在帝都無數個日日夜夜奔波的程序猿,現在我大概理下我們所接觸到的程序開發的大的面。作為一個整理學習日記,不對的地方,可以指出,相互學習。
從我們智能手機說起,手機已經成為我們不可或缺的一部分。那么手機在軟件行業里處在什么樣的位置呢。這里我把手機理解為 前端
前端:
我粗暴的理解為,“前就”是前面,眼前,“端”就是終端,連起來就是展示在使用者眼前的終端設備。這么看來,終端當然還包括我們的電腦 、平板,都是前端。有前端,當然就有后端。
這里我們先說前端,前端包括兩部分,網頁前端,和移動前端。網頁前端的編程語言,和需要掌握的相關知識:
HTML/CSS ----->負責網頁的頁面樣式和現實的內容
JavaScript -----> 和上面的HTML/CSS一起使用,負責網頁的點擊交互等相應和邏輯運算
CSS3 ----->是上面CSS的完善和升級,增加了很多好用的屬性,比如動畫等。
HTML5 ----->上面HTML的完善和升級,增加了新的標簽,統一了標準。
jQuery ----->JavaScript最常用的開發框架,讓JavaScript開發簡單容易。
AngularJS ----->google收購的一款優秀的前端JS框架,
Node.js ----->Node.js是一個基于Chrome JavaScript運行時建立的平臺,它是對Google V8引擎進行了封裝,使得V8在非瀏覽器環境下運行得更好。
Bootstrap-----> 是基于 HTML、CSS、JavaScript 的來自 前端開發框架,他來自Twitter,也是目前很受歡迎的的Web 開發框架。
WebApp -----> 基于Web的系統和應用,簡單理解,就是開發了一個像應用程序一樣的網頁,只需要在瀏覽器中打開頁面,就會等于打開了一個app,現在很典型的WebApp于微信公眾平臺綁定,在關注的公眾號頁面里,打開這個公眾號的網站,可以充值訂餐等等,就是一款WebApp
移動端編程
Android 主要編程語言Java,現在很多App會結合WebApp開發一款手機應用。
iOS 主要編程語言:Objective-C,和蘋果官方行推出的Swift編程語言。
后端:
和前端對應,我們簡單理解為,后面對,看不見的,背后的設備。一般的后端設備,就是我們的服務器。
后端涉及的編程語言和知識點:
PHP-----> 是一種通用開源腳本語言,主要適用于Web開發。主要實現服務器的邏輯,以及實現數據庫的增刪改查。
JAVA -----> 一種可以撰寫跨平臺應用程序的面向對象的程序設計語言,可以看出,兩大特點,跨平臺,面向對象。引用很廣泛,可以最為后端服務器開發語言,也是Android開發語言。
Linux ----->一套免費使用和自由傳播的類Unix操作系統,現在很多公司服務器,都使用的是linux操作系統,Linux一起良好的性能,豐富的免費軟件資源,以及良好的穩定性,在服務器操作系統上,有不可撼動的地位。
Python ----->是一種面向對象、解釋型計算機程序設計語言,Python是代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專注于解決問題而不是去搞明白語言本身。和php一樣,大部分將其作為Web服務器開發。
C ----->一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。很古老,很經典,很實用的語言。計算機專業和理工專業不可或缺的一門編程課程。優點是編譯文件小,消耗小,執行速度極快。
C++ ----->是在C語言的基礎上開發的一種面向對象編程語言。
Go ----->谷歌2009發布的第二款開源編程語言,Go編譯的程序可以媲美C或C++代碼的速度;所以是一個比較年輕的語言,可以被用于網絡服務器、存儲系統和數據庫中。谷歌對該語言寄予厚望。
C# ----->是微軟公司發布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言,C#看起來與Java有著驚人的相似,它是微軟公司.NET windows網絡框架的主角。
上面是前段和后端的一些開發語言和知識,前段用于給用戶展示信息,并且提交一些查詢的信息,前段通過網絡將需要查詢信息發送給后端,后端進行編程邏輯處理,去數據庫查詢我們需要的信息,后端查詢到需要的信息,又通過網絡返回給前段,前段通過編程邏輯展示在我們面前。這就是一個完整的回路。
我們看到了,后端是需要去數據庫查詢需要的數據的,那么我們的任何應用程序,或者一個平臺,都不可或缺的要去查詢數據庫的數據。下面我們看看數據庫有哪些?
- DB2 ----->又IBM的1997年的System R系統的原型發展而來,關系型數據庫管理系統,它主要的運行環境為UNIXLinux、IBM i、以及Windows服務器。DB2主要應用于大型應用系統。 DB2具有很好的網絡支持能力,每個子系統可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統尤為適用。
Oracle ----->是甲骨文公司的一款關系數據庫管理系統。它是在數據庫領域一直處于領先地位的產品,其系統可移植性好、使用方便、功能強,適用于各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的數據庫解決方案。
Informix ----->和DB2一樣,也是IBM的關系數據庫管理系統,被定位為作為IBM在線事務處理(OLTP)旗艦級數據服務系統。
Sybase ----->美國Sybase公司研制的一種關系型數據庫系統,
SQL Server ----->美國Microsoft公司推出的一種關系型數據庫系統,是一個可擴展的、高性能的、為分布式客戶機/服務器計算所設計的數據庫管理系統,高性能設計,可充分利用WindowsNT的優勢,提供了基于事務的企業級信息管理系統方案。
PostgreSQL ----->PostgreSQL是以加州大學伯克利分校計算機系開發的 POSTGRES,后更名為PostgreSQL,是一個自由的對象-關系數據庫服務器(數據庫管理系統)。
mySQL -----> 由瑞典 MySQL AB 公司開發,目前屬于 Oracle 旗下公司,是一個關系型數據庫管理系統。MySQL是最流行的關系型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的應用軟件之一,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站數據庫。由于其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。
SQLite ----->是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,常用在移動端,如iPhone,Android手機,都用的是SQLite數據庫,
以上關于數據庫的資料,基本都來自百度百科,這里只是簡單的介紹服務器端使用到的數據庫,不對其進行詳細說明。
由此可見:我們一個網站,或者一個手機app,再或者一個手機游戲,都是有“前端”和“后端”相互協作構成整個完整的系統。我們的數據機會全部都是存儲在數據庫中。
這里我們從大的方向上了解了一個網絡系統,一個大的系統的關鍵組成部分。我們了解這些,可以從一個較高的角度,分塊去學習自己感興趣的東西。比如,對前端感興趣,我們可以選擇前端的一種,例如Android,或者ios,再或者網頁H5等。又如,我們如果喜歡后端服務器,我們可以選擇PHP,抑或別的語言技術學習。
這樣我們可以站在山頂看山下一片好風景。不是嗎?