Web開發的入門指導

Web開發的入門指導

你點開此文,說明你對Web開發是有興趣的,或者你正在思考開始學習Web開發。在這里,我會告訴你成為一名Web開發者的路線,是對初學者關于Web開發的指導。這篇文章不會教你如何寫代碼,而是指出在你在真正寫代碼之前要思考的事情。Web開發是令人興奮和有激情的事情,正是迎合了這個高速變化發展的世界。了解Web開發,我們先來定義幾個基本的概念。
enter description here

前段和后端

一開始一定要分清前端開發和后端開發,我們來分別介紹一下。

前段

Web應用被分類歸為分布式應用,一般是客戶端——服務器結構,所以我們有一部分的代碼運行在客戶端,另一部分代碼運行在服務器。那些在客戶端上的應用就是前端,通常指的就是我們的瀏覽器。最常用于前端開發的技術是HTML+CSS+JavaScript,高級的前端開發人員通常使用這些技術的組合開發應用的前端,另一個前端的常用技術就是使用Photoshop設計,配合其他技術共同完成Web頁面的制作。

后端

后端開發者編寫那些運行在服務器上的代碼,通常來說,這部分的工作需要和數據庫打交道,比如讀寫數據、讀寫文件、實現業務邏輯等。有些時候,業務邏輯存儲在客戶端,這時后臺就是用來以Web服務的形式提供數據庫中的數據。后端開發者一般需要掌握一種Web編程語言和一個數據庫管理系統。
你可以同時掌握前端和后端的技術,但大多數Web開發者都還是有一定的喜好偏向,甚至只在某一方面深入研究。盡管前后端是有區分的,但并沒有規定它們各自的具體任務。有時前端只是完成數據的顯示,而其他主要工作都在后端完成。但也有時,后端只是提供數據,而所有的計算和具體功能都在前端完成。前后端工作的分配,通常都是由項目的設計和架構來決定的。

編程語言

對于Web開發,有很多的編程語言可以選擇。當需要在前端開發時,標準的開發語言是JavaScript,而當需要后臺開發時,我們有更多的選擇:

  • PHP

  • JavaScript

  • Ruby on Rails

  • ASP.NET

  • Jave EE

  • Python

這其實也沒有一個明確的清單,以上只是開發者通常會想到和使用的語言。那應該如何選擇呢?你的選擇應該基于以下幾個方面:工作市場(求職機會)、托管服務、可用的學習資源、可用的學習時間、周圍的開發環境等。
如果你真的想從事開發行業,找到一個Web開發的工作,那最重要的選擇因素就是工作市場(求職機會),你要分析行業情況,選擇出一門要學習的編程語言。另一個重要因素就是托管服務,比如PHP的托管就要比Java托管便宜很多。而如果你要開發企業內應用,Java EE或許就是一個不錯的選擇。但如果你要將你的應用上線,Java EE就要比其它語言昂貴很多。
隨著Node.js的流行,JavaScript也變得在后端開發中流行起來,但它畢竟還是一個新的、不夠成熟的技術,不推薦給初學Web開發的人學習和使用。
在我看來,PHP有著最簡單的學習曲線、便宜的托管服務、充足的學習資源(PHP100就是一個很好的選擇哦)和相對簡單的開發環境,所以我推薦初級Web開發者學習使用PHP。當然,ASP.NET也是一個不錯的選擇,Microsoft提供了很多ASP.NET相關的學習資源和免費的開發工具,如果你喜歡Microsoft的環境,就值得考慮ASP.NET。

框架

如果你還是一個初學者,在你開始學習框架前還是要先打好基礎。框架可以幫助你簡化開發的工作,有很多現成的代碼庫,它提供給你Web應用的結構,讓你的編程工作更簡單更快捷。如果你要成為職業的Web開發者,你就必須要精通至少一個框架,加速你的Web開發。
框架有很多種類,有通用型的解決方案,也有針對具體問題的方案。你需要先評估你的需求,如果你選擇了PHP開發,我推薦使用Laravel作為框架,它是一個近年來非常流行的MVC框架。如果你選擇的是ASP.NET,我推薦學習使用ASP.NET MVC和EntityFramework。
Web開發可能過于大型,你只想專注于其中一種應用,比如一個內容管理系統(CMS)。如果你還是選擇PHP,那么我推薦WordPress,它可以幫助你創建網站、博客,也可以用已有的插件或主題作為擴展。

接下來做什么

即使你選擇只是從事前端或后端的一項開發,你也應該了解一下另一端的開發,這樣做會讓你的團隊有更高的效率。如果你已經學會了一門編程語言及相應的框架,你就應該開始學習另一種語言,每一種編程語言都有自己的優點和范式,了解更多的語言,可以讓你對需要解決的問題有更深入的了解,有更好的解決方案,從而成為更優秀的開發者。最后,正如我之前所說,當你在選擇編程語言時要考慮很多的因素,我的選擇依舊是JavaScript、PHP、ASP.NET和Java EE,大家可以參考借鑒。
原文:http://arian-celina.com/a-beginners-guide-to-web-development
譯文:http://www.php100.com/html/dujia/2015/0120/8425.html

轉載于:https://www.cnblogs.com/november1943/p/5187631.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373672.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373672.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373672.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

新東方mti百科知識pdf_20南航翻碩mti初試417上岸經驗貼

南京航空航天大學mti初試417分排名第一:?基礎英語88:1,外刊閱讀:從2月到6月開始一直打卡外刊app,友鄰優課,流利閱讀等2,背單詞:扇貝單詞app,新東方專八單詞綠皮書,華研專八單詞等3,星火專八閱讀…

JavaScript學習隨記——屬性類型

<!DOCTYPE HTML> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>屬性類型</title></head> <body><script type"text/javascript" charset"…

Shell if else語句

if 語句通過關系運算符判斷表達式的真假來決定執行哪個分支。Shell 有三種 if ... else 語句&#xff1a; if ... fi 語句&#xff1b;if ... else ... fi 語句&#xff1b;if ... elif ... else ... fi 語句。1) if ... else 語句 if ... else 語句的語法&#xff1a; if [ ex…

過濾日志中不相關的堆棧跟蹤行

我喜歡堆棧痕跡。 不是因為我喜歡錯誤&#xff0c;而是因為發生錯誤的那一刻&#xff0c;堆棧跟蹤是無價的信息源。 例如&#xff0c;在Web應用程序中&#xff0c;堆棧跟蹤向您顯示完整的請求處理路徑&#xff0c;從HTTP套接字到過濾器&#xff0c;Servlet&#xff0c;控制器&a…

Can't create/write to file '/tmp/#sql_887d_0.MYD' (Errcode: 17)

lsof |grep "#sql_887d_0.MYD" 如果沒有被占用就可以刪掉 。 https://wordpress.org/support/topic/cant-createwrite-to-file-error Hello, just today I saw this kind of error on every page on my blog. WordPress database error: [Cant create/write to file …

python3怎么創建文件_Python3.5 創建文件的簡單實例

實例如下所示&#xff1a;#codingutf-8Created on 2012-5-29author: xiaochouimport osimport timedef nsfile(s):The number of new expected documents#判斷文件夾是否存在&#xff0c;如果不存在則創建b os.path.exists("E:\\testFile\\")if b:print("File …

Dijkstra 最短路算法(只能計算出一條最短路徑,所有路徑用dfs)

上周我們介紹了神奇的只有五行的 Floyd 最短路算法&#xff0c;它可以方便的求得任意兩點的最短路徑&#xff0c;這稱為“多源最短路”。本周來來介紹指定一個點&#xff08;源點&#xff09;到其余各個頂點的最短路徑&#xff0c;也叫做“單源最短路徑”。例如求下圖中的 1 號…

JavaScript學習隨記——錯誤類型

錯誤類型&#xff1a; 執行代碼期間可能會發生的錯誤有多種類型。每種錯誤都有對應的錯誤類型&#xff0c;而當錯誤發生時&#xff0c;就會拋出相應類型的錯誤對象。 ECMA-262定義的7種錯誤類型 Error&#xff1a; 是錯誤的基類型&#xff0c;其他錯誤類型都繼承該類型。Error…

多個集合中的共同和獨特元素

本周&#xff0c;我們將暫時中斷較高級別的問題和技術文章&#xff0c;以解決我們中許多人可能面臨的一些代碼問題。 沒什么花哨的或太辛苦的&#xff0c;但是有一天它可能會節省您15分鐘的時間&#xff0c;偶爾回到基礎上也很不錯。 因此&#xff0c;讓我們開始吧。 有時&…

2016給自己一個交代

一、前言 在關于技術上的學習&#xff0c;常常有這樣那樣的計劃&#xff0c;而最終一個都沒有真正的落實。零散的學習&#xff0c;終究需要系統總結&#xff0c;才能使自己有所沉淀。從畢業至今&#xff0c;我一直在忙碌&#xff0c;為公司付出自己的很多很多&#xff0c;卻只不…

洛克人紅色思考型機器人叫什么_稻船敬二新企劃《紅色灰燼》 依然是機器人風格...

稻船敬二離開CAPCOM之后玩家們紛紛感嘆《洛克人》系列將再無續作&#xff0c;不過在單飛的這段時間里&#xff0c;稻船敬二還是創作了諸如《蒼藍雷霆 剛巴爾特》《Mighty No.9》等類似洛克人風格的作品。其名下的團隊comcept的最新作《Mighty No.9》即將于9月18日發售&#xff…

常見對話框

(1)普通對話框 // 點擊按鈕 彈出一個普通對話框public void click1(View v) {// 構建AlertDialogAlertDialog.Builder builder new Builder(this);builder.setTitle("警告");builder.setMessage("世界上最遙遠的距離是沒有網絡");builder.setPositiveButt…

JavaScript學習隨記——面向對象編程(繼承)

Example:基于原型鏈的繼承 <!DOCTYPE HTML> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>面向對象編程&#xff08;OOP&#xff09;</title></head> <body>…

NSCharacterSet

先上個例子&#xff1a; NSString * str1 [nameInput.textstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]]; NSString * str2 [passwdInput.textstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]]; […

Apache Mahout:構建垃圾郵件過濾器服務器

Lucene發生了一些相當有趣的事情。 它最初是作為一個庫&#xff0c;然后其開發人員開始基于它添加新項目。 他們開發了另一個開源項目&#xff0c;該項目將向Lucene添加爬網功能&#xff08;以及其他功能&#xff09;。 Nutch實際上是任何人都可以使用或修改的功能齊全的Web Se…

建模步驟_古建設計 | sketchup建模步驟教程(簡易入門版)

前言本篇教程主要是針對古建建模入門者。小N給大家分享一套我相對簡易的建模步驟。(PS&#xff1a;但是估計有些人可能會感覺我做的東西已經繁瑣了……)因為主要是為了讓大家熟悉、入門和好記憶。所以講的東西&#xff0c;小N我會相對簡單&#xff0c;有些細節的內容不會更多展…

JavaScript模塊化

JavaScript模塊化的實現方式&#xff1a; <!DOCTYPE HTML> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>模塊化</title></head> <body><script type&quo…

Linux下面的IO模型

1. Linux下的五種I/O模型 阻塞I/O模型&#xff1a; 一直阻塞 應用程序調用一個IO函數&#xff0c;導致應用程序阻塞&#xff0c;等待數據準備好。 如果數據沒有準備好&#xff0c;一直等待….數據準備好了&#xff0c;從內核拷貝到用戶空間,IO函數返回成功指示。 我們 第一…

改變導航欄上邊的狀態欄顏色

#pragma mark - 改變狀態欄顏色 -(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; }轉載于:https://www.cnblogs.com/block123/p/5195203.html

PIT和TestNG突變測試簡介

變異測試是一種技術&#xff0c;它可以發現測試未涵蓋代碼的哪些部分。 它類似于代碼覆蓋范圍 &#xff0c;但變異測試不限于在測試期間執行給定行的事實。 這個想法是修改生產代碼&#xff08;引入突變&#xff09;&#xff0c;這應該改變其行為&#xff08;產生不同的結果&am…