Ruby On Rails (RoR) คือ Web Application
Framework โดยใช้ภาษา Ruby ในการพัฒนา
คำอธิบายดีๆ เกี่ยวกับ RoR คืออะไร
*
Introduction To Ruby On Rails from wiki.nectec
* introduction
ruby-on-rails from PunNeng
Ruby เป็นภาษาโปรแกรมมิ่งที่พัฒนาโดยชาวญี่ปุ่น นาย
Yukihiro “matz” Matsumoto
โดยนำข้อดีของหลายภาษาที่เค้าชอบ Perl, Smalltalk, Eiffel, Ada, and
Lisp มารวมกันกลายเป็น Ruby ลักษณะของ Ruby เป็นแบบ Object Oreinted
Programming มีโครงสร้างที่ดูคล้ายและใกล้เคียงภาษามนุษย์
(เค้าบอกอย่างนั้น)
Ruby is simple in appearance, but is very
complex inside, just like our human body.
Says Yukihiro Matsumoto
Rails เป็น Web Framework มีลักษณะเป็น MVC
(Model-View-Controller) พัฒนาโดย 37signals
Rails ถูกออกแบบมาให้มีการใช้งานที่ง่ายและรวดเร็ว
ลดปัญหางานทีี่ต้องทำซ้ำๆ ทำให้ได้ productivity
ที่สูงขึ้น สอดคล้องกับ Methodology แบบ Ajile
และมีแนวความคิดพื้นฐานคือ
MVC (Model-View-Controller)
ก่อกำเนิดขึ้นมาตั้งแ่ต่ปี 1979 นานโขแล้วเลยทีเดียว คิดขึ้นโดย
Trygve Reenskaug ใช้กับ Smalltalk แนวคิดเป็นที่ยอมรับในวงกว้างมี Framework
ในยุคหลังๆ หยิบยืมแนวความคิดนี้ไปใช้เช่น Struts, Spring, Tapestry, CakePHP
และอีกมากมาย รวมถึง Rails
ผมเชื่อว่าถ้ามีความรู้เรื่อง MVC ติดตัวไปไม่่ว่าไปตกระกำลำบากที่ไหน
คงไม่อดตายแน่นอนครับ
เพราะ Web Application Framework ตระกูลหลักๆ
ในตอนนี้ยืดแนวคิดนี้เป็นพื้นฐานทั้งนั้น
MVC เป็นลักษณะสถาปัตยกรรมที่มีการแบ่งการทำงานออกเป็น 3 Layer
คือ
Figure: Illustration of MVC Framework from ash-mvc
ทั้ง 3 Layer
จะการทำงานที่แยกขาดออกจากกัน แต่ล่ะส่วนก็ทำหน้าที่ของตัวเองไป
จะมีการยุ่งเกี่ยวสัมพันธ์กับ Layer อื่นกันตรงจุดที่กำหนดเท่านั้น
ทำให้มีความยืดหยุ่นสูงขึ้น
เอื้ออำนวยให้กับการพัฒนาระบบที่มีขนาดไหญ่ขึ้นมีความซับซ้อนมากขึ้น
เพราะเมื่อ Layer ใดมีปัญหาเราก็จัดการกับ Layer นั้น
แล้วค่อยไล่ไปยังจุดที่มีการเชื่อมต่อกับ Layer อื่น
ว่าปัญหานี้มีผลกระทบกับ Layer นั้นหรือไม่ ทำให้ทุกๆ การทำงานใน MVC
เราสามารถควบคุมทุกอย่างไว้ได้หมด
ในบันทึกนี้เป็นการอธิบาย Concept
คร่่าวๆของ RoR หวังว่าคงจะทำให้คุณผู้อ่านเห็นภาพรวมไม่มากก็น้อย
ในบันทึกหน้าจะมี Reading List และ Resource ที่เกี่ยวกับ RoR
มาฝาก
อ่านบทความ Ruby on Rails ไปพร้อมกันกับเรา Symbolet