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

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 คิดบน “รักแรกพบกับ Ruby on Rails

  1. มันก็ไม่เชิงหรอกนะ ตอนนี้สรุปได้แค่ว่า ถ้าเป็นงาน 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 ได้อีก ^^ ชอบๆๆ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s