0基礎(chǔ)怎樣開始學(xué)習(xí)做網(wǎng)站?

原文:http://www.douban.com/note/512945304/,歡迎建議

這還是篇草稿,介紹怎么學(xué)習(xí)Ruby on Rails的,希望大家提提建議,看看是不是真的對(duì)新手有幫助

====================================

目標(biāo)讀者:完全0基礎(chǔ)的人,Rails Girls,想了解技術(shù)的同學(xué),產(chǎn)品新人

大多數(shù)教學(xué), 都太有條理了。先講概念, HTML是什么,CSS是什么,HTTP請(qǐng)求是什么....但是一次性聽到這么多陌生的概念,很容易暈的。過于抽象了,所以試著寫一篇based-on experience, not concept的介紹,來幫助大家入門Ruby on Rails

Ruby on Rails是做什么的?做網(wǎng)站的,你知道什么是網(wǎng)站(淘寶,知乎..),Rails能做這些,就行了

1. 網(wǎng)站->網(wǎng)頁->按鈕

我們要做的是什么?是網(wǎng)站,那么就直接以知乎為例好了

這樣一個(gè)網(wǎng)站,是怎么和“代碼”,Rails聯(lián)系起來的呢?

這個(gè)太復(fù)雜了,我們不如只看他的首頁(上圖)

就拿這個(gè)頁面來說,他是有3部分構(gòu)成的,HTML,CSS,JS。不過這樣說,依然沒有什么用

我們只拿出其中的一個(gè)按鈕,來解釋這個(gè)概念

我應(yīng)該怎么來寫代碼,來實(shí)現(xiàn)這個(gè)按鈕?

這個(gè)時(shí)候,就要用到HTML了,代碼如此:

<- button class="sign-button submit" type="submit">注冊(cè)知乎</button>

寫好以后,生成的就是按鈕了(如圖)

"靠,可是這也差得太遠(yuǎn)了吧?這兩個(gè)怎么能是一個(gè)東西呢?。?,你可能會(huì)想

但是他的功能,是不是都是一樣的呢?(就是點(diǎn)擊)

這個(gè)時(shí)候,就用到CSS了。(不要在意代碼具體什么意思,知道這是CSS就行了)

(至于JS,可以以后再說)

上面想說的就是,我們看到的網(wǎng)頁,都是用HTML,CSS,JS寫的:HTML來說明這個(gè)內(nèi)容是什么,CSS來讓這個(gè)內(nèi)容變好看(How it looks)。這里說的是按鈕,其實(shí),網(wǎng)頁上的所有這些文字,標(biāo)題等等都是這樣,都是HTML+CSS+JS寫的,如下圖的頭像,鏈接等等

再舉個(gè)例子,上面的指向某個(gè)問題的鏈接

純粹的HTML,以及加上CSS來改變他的樣子之后

小結(jié)一下,上面介紹了什么是HTML,CSS,(JS)

[如果有任何問題,可以直接提問]

2. 難道要重復(fù)寫很多遍嗎?

再看知乎里面的“發(fā)現(xiàn)”頁面,一條一條的“回答”

這些“回答“的結(jié)構(gòu),都是相似的。那是不是,我們的代碼就要這樣一條一條的寫下去呢...?

顯然,這太麻煩了,所以要用到循環(huán),也就是用編程語言(e.g. Ruby)來做 (e.g for loop )

或者,想根據(jù)用戶登錄/未登錄的狀態(tài),來調(diào)整頁面的內(nèi)容

這里,知乎對(duì)于未登錄的用戶,會(huì)有登錄的按鈕;登錄的用戶,則顯示消息,頭像等等。這就用到了編程的東西(if else判斷)

[if else, for loop,這些應(yīng)該還能理解吧?]

3. 怎么實(shí)現(xiàn)注冊(cè)功能?

上面,我們講到了看到的網(wǎng)站是如何由代碼構(gòu)成的

不過,寫到這里,你可能還在想,這不拖拖拽拽就行了嗎?e.g. Dreamwaver, front page等軟件

確實(shí)如此。

不過,我們?cè)趺磳?shí)現(xiàn)“用戶注冊(cè)”的功能呢?

這個(gè)時(shí)候,就不僅僅是”循環(huán)“、”判斷“了。顯然,這時(shí)候,要涉及到更多更為復(fù)雜的邏輯

這個(gè)時(shí)候,就要用到Rail了,我們要用他來實(shí)現(xiàn)——注冊(cè)、登錄的功能,發(fā)帖的功能,提問的功能,點(diǎn)贊的功能等等等

所以,Rails就是用來實(shí)現(xiàn)這些“功能的”。這里不再舉例子了,因?yàn)樘珡?fù)雜,只提幾個(gè)問題,讓大家思考一下,拿論壇發(fā)帖子來說:

我們?cè)趺磳?shí)現(xiàn)“創(chuàng)建”一個(gè)帖子的功能?又怎么“修改”,怎么“刪除”?

這下,應(yīng)該能感到這些功能的復(fù)雜了。不過,現(xiàn)在依然不用深究,只要知道Rails是用來處理這些復(fù)雜邏輯的東西,就行了

(此外,我們有這么多用戶的數(shù)據(jù),帖子的數(shù)據(jù),點(diǎn)贊的數(shù)據(jù),就又牽扯到數(shù)據(jù)庫了)

4.? 小結(jié)

到這里,我們主要介紹了:

(1) 什么是HTML + CSS +JS (顯示網(wǎng)頁)

(2) 什么是Ruby on Rails (復(fù)雜的邏輯功能)

前面的,就是我們所說的前端,后者,就是常稱的后端


如果你下次還有疑問的話,不妨順著這個(gè)思路理一理:

(1) “網(wǎng)頁是由什么構(gòu)成的?”

(2) “怎么實(shí)現(xiàn)注冊(cè)的過程?”

(3) “網(wǎng)站上有這么多數(shù)據(jù),怎么保存?”


“可是我想要設(shè)計(jì)一個(gè)很漂亮的網(wǎng)站誒.....”,那個(gè)是設(shè)計(jì)師做的

對(duì)于一個(gè)網(wǎng)頁來說,設(shè)計(jì)師決定這個(gè)按鈕的顏色,陰影,怎樣才好看

而前端工程師(HTML CSS JS),來負(fù)責(zé)用代碼實(shí)現(xiàn)這些東西(寫具體的代碼)

比如設(shè)計(jì)師說,希望這個(gè)按鈕是藍(lán)色的,那么工程師就根據(jù)這個(gè)要求寫具體的代碼:

【代碼:button {color:blue}】

對(duì)于小的startup來說,可能最開始就直接寫代碼做完了,不會(huì)有專職的設(shè)計(jì)師

5. 那么,我接下來該怎么學(xué)習(xí)Rails呢?

好了,寫到這里,應(yīng)該基本了解什么是Rails了(其實(shí)主要介紹的是前端),接下來的問題可能就是:那我應(yīng)該怎么學(xué)會(huì)Rails,來自己做網(wǎng)站呢?

不過我先寫這么多了,如果有足夠的人需要的話,再繼續(xù)寫吧

注:

原標(biāo)題為Rails in Plain Language,即用淺顯的語言,告訴準(zhǔn)備學(xué)習(xí)Rails的同學(xué)們,Rails到底是什么。不過本文實(shí)際上并沒有談到Rails是什么,更多的寫的是前端。因?yàn)榇蠖鄶?shù)0基礎(chǔ)的同學(xué),并不理解這些,所以先了解一下,我覺得會(huì)有幫助。

Credits: 感謝珊珊同學(xué),白烏鴉,TechiCat的古茜和Vin,李改之,PH翻譯群的修改建議

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,133評(píng)論 1 92
  • 今天是星期五,又要上餐飲課了。我很期待。戴老師在黑板上寫下了:“小加餐”幾個(gè)字,我看見這幾個(gè)字心想是什...
    王啟萱閱讀 160評(píng)論 0 0
  • 識(shí)人術(shù)要點(diǎn)再更!想要識(shí)人,綜合考量,涉及地域風(fēng)土人情,成長(zhǎng)經(jīng)歷,骨髓之物!相愛相殘,抑或殺人誅心!需知己知彼!不是...
    縱情嬉戲天地間閱讀 232評(píng)論 0 0
  • 功能: 實(shí)現(xiàn)打電話、發(fā)短信、打開系統(tǒng)通訊錄功能 使用步驟: 一、鏈接Communication庫 參考:https...
    街角仰望閱讀 856評(píng)論 0 0
  • 你是誰 回答我的是 伸手不見五指的黑暗 撲通 撲通 撲通 心跳聲在我耳邊廝磨 不斷地 向前奔跑 摔倒 嘿 出不去 ...
    燃大仙閱讀 230評(píng)論 0 0

友情鏈接更多精彩內(nèi)容