作者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/cn.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