รักแรกพบกับ Ruby on Rails

17 03 2007

1 สัปดาห์ที่ผ่านมา นั่ง code Rails กับน้องฝึกงาน โดยทำตามหนังสือชื่อ Agile Web Development with Rails 2nd edition สำหรับคนที่ไม่รู้ว่า Ruby on Rails คืออะไร ขออธิบายสั้นๆแบบนี้ครับ Ruby คือ ภาษา เหมือน Java PHP C/C++ Perl Python ส่วน Rails เป็น web application development framework โดย implement ตามหลักการของ MVC เหมือน Struts และ Spring ในโลกของ Java นั้นล่ะ ถ้าจะเทียบกับ Java ก็อาจกล่าวได้ว่า Ruby on Rails = Java on Struts on Hibernate on Spring on etc. ฟังดูแปลกๆดีแฮะ ^^”

ถ้าพูดถึง web application เมื่อเปรียบเทียบในฝั่งของ Java กับ Ruby แล้ว Ruby on Rails สามารถทำได้สมบูรณ์พอๆกับ Java รวมกับ Spring และ Hibernate แต่สามารถทำโดยใช้ความพยายามน้อยกว่าหลายเท่าตัว ความพยายามที่ว่าคือการไต่ learning curve ของหลายๆ framework ใน Java เพื่อเอามาทำงานร่วมกันให้ได้ web application ที่มีประสิทธิภาพสูง ที่ว่าในฝั่งของ Ruby ใช้ความพยายามน้อยกว่าเพราะ Ruby ใช้ Rails framework อย่างเดียวก็ครบทุกอย่างสำหรับการพัฒนา web application แล้ว ในขณะที่ Java ต้องใช้ Struts Spring Hibernate Log4j และ framework อื่นๆ สิ่งที่ชอบที่สุดใน Rails คือ ไม่มี XML configuration file

ส่วนตัวแล้วยังค่อนข้างใหม่กับ Ruby on Rails เพราะเพิ่งเล่นมาได้สัปดาห์เดียว ผิดกับ Java ซึ่งลุยกับมันมากว่าสองปีแล้ว ถ้าเทียบเป็นทหาร การใช้ความพยายามกับ Java ก็คงเหมือนทหารที่มีรอยแผลเป็นเต็มตัว ส่วน Rails เป็นทหารหน้าละอ่อน ที่เปี่ยมด้วยความสามารถและกลยุทธในการรบ ยังไม่แน่ใจเหมือนกันว่ากับ Ruby จะมีประเด็นปัญหาอะไรหรือไม่ แต่คิดว่า Rails น่าจะเป็น framework หลักๆที่จะพัฒนา web application ต่อไปแทน Java ส่วน Java ก็เอาไปทำอะไรที่ Rails ไม่ support โดยเฉพาะงานที่ไม่ใช่ web application

ส่วนรูปนี้แรกๆเห็นแล้วขัดตาขัดใจ แต่ตอนนี้เริ่มเชื่อนิดๆแล้วว่า Rails ง่ายกว่าเยอะ


ดำเนินการ

ข้อมูล

11 การตอบรับ

17 03 2007
mk

บอกแล้วว่าจาวาห่วย อิอิ

17 03 2007
nontster

มันก็ไม่เชิงหรอกนะ ตอนนี้สรุปได้แค่ว่า ถ้าเป็นงาน web application Rails น่าจะเป็นทางเลือกที่เหมาะกว่า ในแง่ของ productivity

Java เองมี framework ที่ mature หลายตัวแต่ว่ามันเยอะเกินไปหน่อยแต่ละตัวก็พัฒนาแยกกัน ก่อนที่จะมี Spring ซึ่งเหมือนกาวประสาน framework พวกนี้เข้ามานี่หืดขึ้นคอมากๆกว่าจะทำให้ framework ต่างทำงานร่วมกันได้ ทำให้จะทำอะไรทีนึงค่อนข้างเหนื่อย แต่ถึงแม้ว่าจะมี Spring framework เกิดขึ้นแล้วมันก็ยังมีข้อเสียอยู่ดี คือมันยืดหยุ่นเกินไป ทำให้เราต้องสร้าง configuration file เยอะ พอ app. เริ่มโตมันก็ maintain ยาก จะทำอะไรทีต้องเข้าไปไล่ใน config. file

แต่ว่ามี Ruby on Rails เกิดขึ้นมามันก็ไม่ได้หมายความว่า Java มันจะหายไปหรอก เพราะงานที่ไม่ใช่ web application ยังมีอยู่อีกมาก แถม Ruby ยังทำงานร่วมกับ Java ได้อีก ^^ ชอบๆๆ

18 03 2007
pphetra

ใครมาจากสาย java มันจะติดอกติดใจ rails

>> แต่ว่ามี Ruby on Rails เกิดขึ้นมามันก็ไม่ได้หมายความว่า Java
>> มันจะหายไปหรอก
ผมมี app อยู่ตัวหนึ่งที่ใช้ rails
แต่พอ user เลือก report, ข้างหลังมันจะไปเรียกใช้ jasper report
เพราะ ruby มันยังไม่มี tool ดีๆ ที่เกี่ยวกับ report เลย

18 03 2007
nontster

ใครมาจากสาย java มันจะติดอกติดใจ rails

ไม่รู้ว่าเป็นเพราะกำลังทุกข์ใจกับ Java รึเปล่านะครับ พอเจอ Rails เหมือนมีพระมาโปรด ^^

ผมมี app อยู่ตัวหนึ่งที่ใช้ rails
แต่พอ user เลือก report, ข้างหลังมันจะไปเรียกใช้ jasper report
เพราะ ruby มันยังไม่มี tool ดีๆ ที่เกี่ยวกับ report เลย

ขอบคุณครับพี่ เรื่อง report นี่เป็นอันนึงที่คิดไว้ว่าต้องเจอปัญหาแน่ๆ อย่างใน PHP เองก็ยังไม่มีทางออกดีๆ

18 03 2007
nontster

ลืมบอกไปว่าผมชอบ Scaffolding ใน Rails ที่สุดเลย

19 12 2007
Pathompong

ถ้าใช้ Rails ไปนานๆๆ Scaffold จาไม่ค่อยได้ออกรบเท่าไร

4 04 2008
ฉางเอ๋อ

rails ทำให้เด็กน้อยสนุกกับการสร้างเว็บไซต์มากกว่าจาวา…

3 06 2008
nontster

ไม่ได้มา update นาน ตอนนี้ทิ้ง Rails ไปชั่วคราวครับ สำหรับงานโปรแกรมทางฝั่ง back-end ผมยังยึด Java และผองเพื่อนอยู่ ส่วนด้าน front-end ไปทาง extjs

แต่ก็ยังไม่ได้ทิ้งเรื่องนี้ไปทีเดียว ไว้อะไรเข้าที่เข้าทางจะกลับมาอีกครับ

10 11 2008
enjoy127

รูปอะไรเนี่ยครับ บาดตา บาดใจ เหลือเกิน (-_-”)

20 04 2009
แนะนำ

ขอแย้ง อย่างเดียว คือรูป ด้านบน คนที่เอา มา
เปรียบเทียบกัน คงโง่ บวก บ้า และ เซอร์ ไปตามๆกัน

แต่มี บางอย่างที่ผม เข้าใจคือ คนไทย เวลาเจอ อะไร หินๆ
ก็ไม่อยาก ฝ่าดงหนามไป หรอก
ชอบเลี้ยว ซ้ายขวา หาทางออก เลนซ้ายที ขวาที
สุดท้ายก็ ติดอยู่ดี

ที่ บอกว่า rails ง่ายกว่าเยอะ เพราะ ว่า รู้แต่เพียงน้อยๆ แล้วทำให้ คิดว่า
“อ่าาา นี่ไง ทำได้แล้ววว”

สุดท้าย แล้วก็เป็น แค่ end user ในแง่ของโปรแกรมมิ่ง

20 04 2009
nontster

เลือกของให้ถูกกับงาน น่าจะเป็นสิ่งที่ถูกต้องที่สุดครับ รูปนั้นมันก็สุดโต่งเกินไป จะเรียกว่าแขวะก็ได้ ความสามารถของกองหนังสือสองซีกไม่มีทางเท่ากัน แต่มันจะเกิดประโยชน์สูงสุดตอนเราเลือกมันได้ถูกกับงานครับ

update นิดนึงตรงที่ตอนนี้ผมกลับมาเขียน PHP และใช้ CakePHP เป็น MVC framework มันก็เหมาะกับงานที่เป็น form processing ดีมากๆครับ ไม่รู้ project หน้าจะใช้อะไร – -”

เขียนความคิดเห็นของคุณ