作者larrywhy (壞)
看板Soft_Job
標題Re: [心得] 給網站初學者的建議:用RoR非常辛苦
時間Sat Feb 20 01:16:29 2016
小弟想對於這篇文章做個討論
首先,網頁是個坑,個人覺得是個門檻低 但是要專精好難
永遠別人做的網站比你有效率 UI刻得比你漂亮
用別人的framework又覺得怪怪的,好看的要收錢
想自己刻畫面,才發現原來把一個圖片放到"想要的"位置是有多麼難。
(上面是推火坑點)
其實學得愈多 不懂得愈多 網頁技術發展快到飛天
好處是可以學很多好玩的 漂亮的 可以認識很多高手。
好啦 廢話說完。以下針對文章做討論
※ 引述《poopoo888888 (阿川)》之銘言:
: yo~小弟出社會工作兩三年了,有一些心得分享給想入門學寫網站的朋友:
: 用 Ruby on Rails 非常辛苦,用 PHP 非常舒服
首先拿語言跟框架比較,我覺得是不可以擺在一起比較的。
有點類似張飛打岳飛的感覺。
拿Laravel,CodeIgniter來跟Rails比 才比較正常
就好像聽到有人拿C/C++跟Visual C++比的感覺,就..怪怪的。
: 網頁好讀版
: http://blog.turn.tw/?p=2881
: ------------------------------------------------------
: Rails是新手入門學寫網站最辛苦的選擇之一。
: 常常有文章或是課程建議新手用Rails入門寫網站,我認為這種建議十分危險。
: Rails並不適合初學者使用。推薦沒有資訊背景的人去學Rails,很可能害他事倍功半。
: 新手用Rails入門的問題在哪?
: Rails最大的問題就在於:它從一開始就不是設計給新手用的。
: 它是設計給工程師快速開發用的。
: 軟體工程沒有萬靈丹。適合老手的,對新手來說一定太難;
: 適合新手的,對老手來說一定太囉唆。
: Rails為了替工程師節省反覆設定(configuration)的時間,
: 而預設了許多立場(convention)。
: 新手連web application的基本知識、環境設定都不知道,
: 直接去學前人的framework和convention,絕對不是好事,也非常辛苦。
: 我們從Rails的官方入門導覽來舉例吧:
: http://guides.rubyonrails.org/getting_started.html
: 對新手來說,這份導覽真是充滿了災難。
: 它就跟大部份的rails教材一樣,會帶新手去學很沒必要的4件事情:
: 1. 新手沒必要學框架的檔案結構
: 2. 新手沒必要學框架的command line指令
: 3. 新手沒必要學helper
: 4. 新手沒必要學migration
: 1. 新手沒必要學框架的檔案結構
############## 中間恕刪 ##################
: 初學者最舒服的學習路徑:PHP + 懶人包
: 初學者對於開發網站的想像,不外乎就是「寫幾行程式碼,做出幾個小頁面」。
: 他一開始對於環境安裝與調整沒有興趣,也負荷不來。
: 這個時候,使用PHP搭配懶人包開發會是最舒服的路徑。
: 學寫網站至少要碰幾個東西:
: HTML
: CSS
: client-side programming (JavaScript)
: server-side programming (ex: Ruby on Rails 或是 PHP)
: 資料庫
: 架server
: 我對新手學習的建議是這樣的:
: 1. HTML和CSS幾乎沒有入門門檻,線上隨便找教材都有。
: 2. JavaScript主要是用來做瀏覽器上的一些動態效果,非必要。一開始先不學。
: 3. 資料庫跟架server一開始超出新手想像,可以先安裝懶人包帶過。
: 4. server-side programming才是新手原本理解的「學寫網站」。
: 基於以上四點建議,新手一開始把心力放在1、4即可,然後從以下懶人包擇一安裝:
: AppServ
: Wamp
: Xampp
: 這些懶人包會直接幫你裝好server、資料庫與PHP。
: 資料庫相關的操作可以先透過phpMyAdmin之類的軟體用滑鼠操作。
: 接著在線上找PHP教學之類的東西,以「一個檔案就可以做出一個網頁」的方式開始學習。
: 在懶人包的協助下,按照興趣慢慢摸索HTML, CSS和PHP的知識。
: 之後再根據目標,從以下三個方向更進一步學習:
: 急著讓網站上線者,可以把程式碼交給工程師朋友,請他幫忙買網址、架起來。
: 對server side工程有興趣者,可以補強資料庫、伺服器等等知識。試著不依靠懶人包就獨
: 立搞定環境、挑一個框架學習之類的。
: 對client side工程有興趣者,可以補強JavaScript的知識,學習前端相關知識。
: 入門最重要的是循序漸進,先想辦法做出一個能動的網站,
: 之後再根據需求,把缺少的技能一個一個補起來。
: 在「實作出成品」與「學習新知識」之間來回進行,反覆累積成就感與能力。
: 一口氣全部一起學,只會非常茫然、倍感挫折而已。況且根本沒有必要。
: 用Rails就更慘了,在一開始就得學一些工程師用的進階手法。
: 總結起來,我給網站初學者的建議就是:用Ruby on Rails 非常辛苦,用PHP非常舒服。
這邊我許多點認同,但是 也有許多點覺得拿來比較的點 也是比較錯了。
直接進入討論主題
首先,你對於PHP的優點完全沒有提到!? 卻一直說Rails學習的辛苦。
PHP首先是學習容易,很多網路資源 也可以直接內嵌於HTML寫程式。
對於新手來說,不知道他們的差異性。
前人走過許多辛苦路,維護上困難,要去寫出有效率、簡潔的程式
就會去開發出框架,新語言,工具出來。
Node.js , Rails , Django 等。
一個學習曲線應該是
我想寫一個網頁
↓
靜態網頁: HTML (顯示圖片,文字,)
↓
有特效,動態網頁: XML, JavaScript(點擊產生效果,自動填入等等)
↓
要漂亮的網頁 : CSS ,甚至去畫UI工具...等。
↓
要做一個含有資料庫的網頁(留言板,論壇,會員管理系統) : MySQL, MongoDB
↓
當然有以上資料庫的網頁要有後端程式溝通 :(語言) PHP, JavaScript, Ruby, Python
↓
才會有你所說的後端程式以及框架: Node.js, Rails, Django
↓
去租網路空間好貴,想自己架設Server : Apache 等。
才會有你提到的Appserv, XAMPP (懶人包)
當然,對於一個初學者來說懶人包是最棒的。
但是外面的世界總是特別大。
有時候選擇對自己最喜歡 最快樂的語言,工具去寫才是最棒的
既然你提到入門。
寫網頁 HTML,JavaScript可以說是必備了。
這裡可以推薦一個小小好玩的東西: Sinatra
去看官方網頁可以看到,用輕量的前端+後端 還可以搭配資料庫以及Web Server
當然還有許多啦。
--------------------------------
http://www.sinatrarb.com/
官網範例程式:
require 'sinatra'
get '/hi' do
"Hello World!"
end
在後端輸入以下:
$ gem install sinatra
$ ruby hi.rb
== Sinatra has taken the stage ...
>> Listening on 0.0.0.0:4567
打開網址輸入: 0.0.0.0:4567
--------------------------------
上面包含啟動server,不到10行的程式
已經完成了以下工作:
靜態網頁,後端語言,網頁路由,Web Server,網路溝通等..。
(當然不包含資料庫..還沒寫麻..)
貼個圖片 寫個超連結也都相當方便!
缺點呢? 中文化教學太少了吧
不然我看不出來學習這個有比學PHP + MySQL + HTML + JavaScript
差在哪?
其實你提到的已經是全端工程師在做的事情了。
真正在工作細分得更多 每個人專精的領域也不同。
學習PHP + MySQL + HTML 是個好的路線
但是換換口味也不錯。
寫完一個靜態網頁,學了後端語言,就只能走架站了嗎?
可以寫App。 搭配 phonegap,cordova。
可以拿來寫手機、平板上的App.
其實是可以做得到的,只要你會寫網頁 你要寫任何程式都可以
遊戲、會員登入系統、打電話、作業系統...等數不完的應用。
< 科技始終來自於人性 >
以下是一個範例
http://justinsanity.github.io/boo-it/
用網頁技術去寫一個 通訊軟體App.(類似Line) 的應用
時間只要30天,一個月你可以學會
網頁、前端、後端、Web Server、資料庫、App甚至資安觀念等。
當然,寫出來的可以在Android, IPhone上運作沒有問題。
https://youtu.be/mgj62ozU00Y (IPhone, Android)
甚至可以再用網頁技術寫出來的OS 手機 Firefox OS(雖然已經不在開發 淚..
http://youtu.be/Cp1D8nkxD2o (Firefox OS手機)
雖然都是用模擬器,但是在實體機器上跑是沒有問題的。
玩網頁技術是快樂的 學不完的東西會辛苦
但是發現有更多好玩的東西 就不會覺得辛苦 而是有挑戰性
甚至去玩一下Firefox OS,Mozilla就寄台平板送你玩呢!
小弟只是做個討論,有那裡不對 或者要建議的地方可以提出來..
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.241.84.53
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1455902194.A.283.html
※ 編輯: larrywhy (123.241.84.53), 02/20/2016 01:20:50
1F:推 EQQD: iOS Android的對話 沒有顯示IOS的輸入耶XD 02/20 01:23
可以啦 你去把整個專案抓下來就可以:D
2F:推 sp063439: 跪 Orz 02/20 01:23
3F:推 tsao1211: 光是用command line就不很初學了 02/20 01:26
同意, 這點我忘記了考慮。 當然還有系統上的學習考量
※ 編輯: larrywhy (123.241.84.53), 02/20/2016 01:30:15
4F:推 Argos: 啊...就缺了下載一鍵安裝阿 而且要是windows限定喔XDD 02/20 01:30
windows限定實在是太困難了XD 一鍵安裝倒是不難..
5F:→ sp063439: 的確新手可能光 ruby 環境就先死惹,更別說 m$ user 02/20 01:30
6F:→ Argos: 看到很多人教ROR都有一個前提 你買台mac再來吧?XD 02/20 01:31
哈哈,用Linux學的人也不少啦。至少是一種省錢solution
※ 編輯: larrywhy (123.241.84.53), 02/20/2016 01:33:43
7F:推 sp063439: pc 灌 linux 或肉卷( vagrant )等 vm 才是上解 02/20 01:33
用vagrant根本作弊! 懶人包阿!
※ 編輯: larrywhy (123.241.84.53), 02/20/2016 01:34:41
8F:推 CCben: 推解說清楚 02/20 08:23
9F:推 schemer: 推這篇 02/20 10:48
10F:推 fbukevin: 推強者! 02/21 01:52