如何成為全棧開發人員:第 2 部分

已發表: 2017-12-02

這是關於自學編程和全棧開發的系列文章中的第二篇。 如果您還沒有查看關於學習 CS 基礎知識、算法、設計原則和前端開發的第一部分,您可以在此處查看。

動機

您現在知道如何使用 HTML、CSS 和 Javascript 構建靜態網站。 儘管 Internet 最初旨在共享靜態網頁,但現代 Web 應用程序的功能(和期望)已大大增加。 幾乎每個應用程序都要求您對用戶進行身份驗證、響應他們並儘可能接近地複制真實場景。
要執行上述操作,您需要從用戶(或 API)獲取數據,對其進行處理並生成輸出。 您還需要保存這些數據,並有一種機制在用戶下次返回使用您的應用程序時識別用戶。 要執行這些功能,我們目前的堆棧是不夠的。
Bizongo 聯合創始人兼首席技術官 Ankit Tomar 訪談

服務器需要處理用戶數據、存儲文件、將其轉換為 HTML/CSS/JS。 然後,這些服務器以可以呈現給用戶的形式將其提供給瀏覽器。 需要一個數據庫來存儲對您的應用程序很重要的數據。 要對服務器進行編程,我們需要一種服務器端腳本語言,而對於數據庫,我們需要一個數據庫(duh)和一種與之通信的語言。 這正是我們在接下來的步驟中要做的。 前七個,請參考之前的帖子!

目錄

第 8 步:服務器端腳本語言

如前所述,要對服務器進行編程和通信,您需要了解它所理解的語言。 與 Javascript 是唯一選擇的前端不同,有許多選項可供您在後端編程。 最流行的是 Java、PHP、Python、JavaScript 和 Ruby。
PHP 有它的缺點,但它的學習曲線是我迄今為止使用的所有語言和框架中最溫和的。 PHP 是關於編碼快速(和骯髒)的解決方案。 因此,在極短的時間內,您就可以構建一個引以為豪的 Web 應用程序。
如何成為全棧 Web 軟件開發者 UpGrad Blog front end backend
Java 是一種通用編程語言,並且可能是有史以來最流行的語言。 它在構建移動應用程序(在 Android 平台上)方面非常流行,並在大多數主要科技公司中廣泛使用。 Head First Java是學習這種無處不在的語言的絕佳場所。
要學習 Python,我強烈推薦Zed Shaw 的 Learn Python the Hard Way Albert Sweigart 的 Automate the Boring Stuff with Python。 如果您決定使用 PHP,您可以在 Codecademy 上學習該語言的基礎知識。
您已經了解了足夠多的 JavaScript 語法,可以使用 Node 和後端 JS 框架(例如 Express)。 稍後我將結合 Rails 介紹 Ruby,因為它很少用作獨立語言。

第 9 步:學習 SQL

對於下一步,您可能應該學習一點 SQL(結構化查詢語言)。 它是與之通信的語言數據庫。 儘管在切換到使用框架時可能不會直接使用它,但了解如何直接與數據庫通信仍然會有所幫助。 好消息是 SQL 非常容易學習。 您應該能夠在幾個小時內很好地掌握它。 Head First SQL是一個很好的資源。
如何成為全棧開發人員:第 1 部分

第 10 步:學習“傳統”全棧 Web 框架

現在是試驗可以為您完成大部分較低級別工作的 Web 框架的好時機。
不乏可以滿足所有可以想像的目的的優秀框架。 Rails(用 Ruby 編寫)、Spring(用 Java 編寫)和 Django(用 Python 編寫)是當今流行的框架。 您可以查看 Michael Hartl 的The Rails 教程 –免費提供。
就 Django 而言,官方網站上的教程是一個很好的起點。 一旦您對框架的基礎知識感到滿意,請閱讀《Two Scoops of Django 》。 這是有史以​​來最好的技術書籍之一。
如果您決定走 Spring 路線,我強烈建議您註冊UpGrad 和 IIIT-B 的軟件開發計劃。 該程序為您提供了一個非常全面的框架概述,並幫助您構建一個強大且可擴展的後端。

第 11 步:Javascript 全棧框架和 MEAN 棧

不久前,後端開發曾經是基於請求-響應週期的概念。 例如,瀏覽器發送了一個請求,服務器通過吐出一個 HTML 網頁來響應。 然而,自 2010 年初以來,越來越多的應用程序變得實時。
整個網頁的結構在不刷新的情況下發生變化,並根據用戶輸入和交互(想想聊天、喜歡、評論、實時視頻和反應等)動態地運行。
如何成為全棧 Web 軟件開發者 後端 UpGrad 博客
在這種情況下,簡單的請求-響應循環是不夠的。 因此,最近人們對異步編程的興趣激增,並使 AJAX 請求成為常態。 Javascript 框架往往在這方面表現出色。 因此,熟悉市場上可用的主要 JS 框架之一是有意義的。 最流行的兩個是 MEAN Stack 和 MeteorJS。
採訪 Fynd 聯合創始人 Farooq Adam

學習 MEAN 由於其異步性質而稍微複雜一些,並且回調地獄節點通常傾向於釋放。 但是現在您是一位經驗豐富的開發人員,您已經足夠成熟,可以處理它的特性了。
Meteor 是我目前正在試驗的全棧 JS 框架。 Meteor 的概念絕對令人愉快——一種語言的框架,負責處理應用程序的所有組件(前端、後端和數據庫)。 然而,這是以定制自由為代價的。 一旦你在 Meteor 中構建了一些東西,如果你選擇這樣做,幾乎不可能更改數據庫或後端框架。 不過,我仍然認為這是一項值得學習的技術。 眾所周知,流星非常強大。 它能夠用數百行代碼完成其他傳統框架需要上千行代碼的事情。

結論

第 2 部分到此結束。在這篇文章中,我們介紹了有關後端開發和各種可用的全棧技術的資源。 您現在可以自豪地稱自己為全棧開發人員。 恭喜!
但是全棧 Web 開發的故事並沒有到此結束。 隨著 iPhone 的推出,全球範圍內掀起了一場智能手機革命。 越來越多的人開始轉向使用智能手機代替台式機。 在這種情況下,您必須學習為兩個最流行的平台構建應用程序:Android 和 iOS。 我們將在本系列的下一部分和最後一部分中介紹這一點。 此外,我們還將研究允許我們使用 Javascript(Ionic、React Native 等)構建原生應用程序的框架。
到那時,再見。
歡迎您提出意見和建議!

成為全棧開發人員

UpGrad 和 IIIT-Bangalore 的軟件開發 PG 文憑
了解更多