Framework

1,038 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,038
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Framework

  1. 1. Framework Ruby On Rails นางสาวรุ่งรัตน์ ขจรกลิ่น 48230218
  2. 2. หัวข้อที่นำาเสนอ  Web Application Framework คืออะไร  Ruby On Rails คืออะไร  Rails Framework  Model  View  Controller
  3. 3. หัวข้อที่นำาเสนอ [ต่อ]  การทำางาน  Environment  การสนับสนุนต่างๆ  Web Server  ข้อดี  เริ่มต้นเขียน  การติดตั้ง
  4. 4. Framework เป็นโครงสร้างของ โปรแกรม โปรแกรมเมอร์ ส่วนใหญ่ ใช้เวลาส่วนมากของการพัฒนา web application ไปกับการเขียนโปรแกรม โดยทั่วไป มากกว่าฟังก์ชันพิเศษ ดังนั้น การนำาชิ้นส่วนของ code เดิมกลับมาใช้ (Reusable) จึงได้รับความนิยม ในการ สร้าง web application โดยตัว Component ที่นำากลับมาใช้ใหม่นี้ จะ เรียกว่า "framework" Framework ที่ Web application Framework คือ?
  5. 5.  เป็นโอเพนซอร์ส web application framework ที่พัฒนาด้วยภาษา Ruby  มีลักษณะของ Model-View- Controller(MVC) architecture  สนับสนุนให้แอพลิเคชั่นในโลกถูก พัฒนาด้วยโค้ดที่น้อยลงกว่าเฟรมเวิร์ค อื่น และมี configuration น้อยที่สุด เพื่อความง่ายต่อการประยุกต์ใช้  มีหลักการของ "Don't Repeat Yourself" (DRY) คือ สิ่งไหนที่รู้แล้ว ก็จะไม่ทำาซำ้า เช่น ในโค้ด JAVA, C++ จะเห็น ; ทุกๆที่ เพื่อบอกว่าจบบรรทัด Ruby On Rails คือ?
  6. 6. เพราะผู้เขียนได้กดแป้น Enter เพื่อ ที่จะเริ่มบรรทัดใหม่ ดังนั้นจึงบันทึก การเคาะแป้นพิมพ์ ซึ่งใน Rails มี บางข้อตกลงที่เข้าใจระหว่างคุณ และคอมพิวเตอร์ Rails เป็นอันดับหนึ่งของการเผย แพร่ ผ่าน RubyGems (เป็นตัว จัดการ package ในภาษา Ruby Ruby On Rails คือ? [ต่อ]
  7. 7. Rails Framework  Form data validation (การตรวจสอบ ข้อมูลใน form)  Application template (การสร้าง template ด้วย CSS)  Email sending and receiving (การ จัดการ รับ-ส่ง email)  Date and time formatting and manipulation ( –รูปแบบของวัน เวลา)
  8. 8. Model ใน object oriented การใช้เว็บ database-driven จะเป็นแบบ MVC ซึ่ง Model จะประกอบด้วย class ที่เชื่อมต่อ กับ RDBMS ใน Ruby On Rails class model จะถูกจัดการผ่านทาง Active Record (เป็นตัวเข้าถึงข้อมูลในฐาน ข้อมูล) ซึ่งควรทำาเป็น subclass คือ ActiveRecord ::Base class และ โปรแกรมจะเข้าใจอัตโนมัติว่าจะใช้ตาราง RDBMS อันไหน และเรียกคอลัมน์ต่างๆ ในตารางเอง ใน Model มีการติดต่อกับ
  9. 9. Model [ต่อ]  ดูแลในเรื่องของการติดต่อสื่อสาร ระหว่าง Object และ Database โดยที่ ผู้พัฒนาไม่ต้องยุ่งยากกับการใช้ SQL command  เป็นงานด้านการตรวจสอบความสัมพันธ์ ของข้อมูล มีผลกับฐานข้อมูล  Handles validation(ตรวจสอบความ ถูกต้อง), association (ความสัมพันธ์ ระหว่างฐานข้อมูล), transactions
  10. 10. View  เป็นส่วนที่ต้องแสดงผลผ่าน web browser  เขียนด้วยพื้นฐานของ HTML(.rhtml), แทรกด้วย script ของ ruby คล้าย PHP, JSP, ASP  การทำางานสัมพันธ์อยู่กับ controller  นำา component มาใช้ใหม่ได้ (Reusable)  สนับสนุน Ajax
  11. 11.  View เป็นการแสดงผลทาง logic หรือ การทำาอย่างไรให้ข้อมูลจาก Controller class ถูกแสดงผล วิธีการ ใน Rails จะใช้ Embedded Ruby (ไฟล์นามสกุล .rhtml) ซึ่งก็เป็นพื้นฐาน จาก HTML และด้วยไวยากรณ์ (syntax) ที่คล้าย JSP นอกจากนี้ด้วย ยังสนับสนุนการใช้ HTML และ XML  สำาหรับ method ที่อยู่ใน class ของ controller หากต้องการที่จะแสดงผล View [ต่อ]
  12. 12. และเก็บในโฟลเดอร์ของ view นี้เอง โดยจะต้องตั้งชื่อไฟล์นี้ เป็นชื่อเดียวกัน กับ method ใน controller ที่ต้องการ ให้มี output ในการแสดงผล เช่น  ใน controller mysite มีการกำาหนด method ที่มีชื่อว่า index,home,contact เป็นต้น โดยทั้ง 3 method ต้องมีการแสดงผลต่างกัน ดังนั้น โปรแกรมเมอร์ต้องเขียนไฟล์ใน การแสดงผลใน โฟลเดอร์ view 3 ไฟล์ ได้แก่ index.rhtml , home.rhtml, contact.rhtml เป็นต้น View [ต่อ]
  13. 13.  นอกจากนี้ยังสามารถกำาหนด stysheet และ template เพื่อให้งานเว็บแอพลิ เคชั่นนั้นมีมาตรฐานเดียวกันทั้งหมด ใน กรณี template จะสร้างไฟล์ ที่เป็นตัว กำาหนด header, content, footer ไว้ที่โฟลเดอร์ layout ภายใต้โฟลเดอร์ view ซึ่งลักษณะการทำางานของไฟล์นี้ จะถูกเรียกใช้ในการแสดงผลทุกครั้ง เป็นต้น View [ต่อ]
  14. 14. Controller  เป็นส่วนที่ทำางานเป็นอันดับแรกเมื่อมี โปรแกรมถูกเรียก จาก Web browser  เป็นส่วนที่ติดต่อการทำางานระหว่างผู้ใช้ และโปรแกรม  มีการติดต่อกับ Database(ฐานข้อมูล) ด้วย Model และแสดงผลข้อมูลผ่าน ทาง View  เป็นส่วนที่มีการประมวลผลหลัก ของ โปรแกรม
  15. 15. การทำางานของ Ruby On Rails 1. Client หรือผู้ใช้ร้องขอข้อมูลทาง Web site 2. Web server รับการร้องขอในรูปแบบ ต่างๆ ผ่านทาง HTTP, RSS, ATOM หรือ SOAP 3. Web server ส่งต่อไปยังไฟล์ที่ชื่อว่า dispatcher ที่อยู่ใน Rails ซึ่งเป็นไฟล์ สำาหรับโหลด Controller ให้ทำางาน 4. ไฟล์ Dispatcher ทำางาน โดยจะโหลด ตัว Controller ที่อยู่ใน Rails ขึ้นมา
  16. 16. 5. Controller เป็นส่วนแรกของการ ทำางานแบบ MVC ติดต่อกับ Model และ View หน้าที่คือการประมวลผลหลัก ของโปรแกรม ซึ่งการทำางานขึ้นอยู่กับสิ่ง ที่ผู้ใช้ร้องขอมา เช่น  ถ้าผู้ใช้ร้องขอ ข้อมูลใน Database  Controller จะติดต่อไปยัง Model  Model ก็จะมีตัว Active Record สำาหรับจัดการทุกอย่างที่เกี่ยวข้องกับ Database การทำางานของ Ruby On Rails [ต่อ]
  17. 17.  ถ้าผู้ใช้ ร้องขอข้อมูลในรูปแบบ ของ Webservice Controller จะมีการทำางานโดยใช้ Action Web service และส่งผลลัพธ์กลับไปยังผู้ใช้ผ่าน View  ถ้าเป็นในรูปแบบของ Mail Controller จะใช้ Active mailler สำาหรับจัดการ การรับ-ส่ง Email Refresh ตัวมันเอง การทำางานของ Ruby On Rails [ต่อ]
  18. 18. 6. สุดท้ายข้อมูลต่างๆ ที่ผ่านการประมวลผล ใน Controller แล้ว จะถูกส่งมายังส่วน ของ View 7. View ส่งข้อมูลกลับมายัง Web browser เพื่อแสดงผลกับผู้ใช้งาน ซึ่ง รูปแบบการแสดงผลก็ได้แก่ HTML, CSS, Javascript, Image, XML เป็นต้น การทำางานของ Ruby On Rails [ต่อ]
  19. 19. Environment  ไฟล์การ Config  database.yml  environment.rb  production, test, development mode  โครงสร้างไดเรกทอรี  app/controllers/  app/helpers/  app/models/
  20. 20. Environment [ต่อ]  app/views/  config/  lib/  public/  test/  components/  script/  vendor/
  21. 21. การสนับสนุนต่างๆ ของ Ruby On Rails  Database  MySQL  PostgreSQL  SQLite  SQL Server  DB2  Oracle
  22. 22.  OS  Windows  Unix/Linux  Mac OS X การสนับสนุนต่างๆ [ต่อ]
  23. 23. Web Server  การพัฒนา Web aplication ในขั้น Basic ขอแนะนำาให้ใช้ WEBrick เนื่องจากเป็น Web server ที่มีมากับ rails อยู่แล้ว จึงง่ายมากสำาหรับการ set up  การพัฒนา Web aplication ในขั้นสูง สามารถใช้ได้ทั้ง Apache และ Lighttpd แต่ว่าขอแนะนำาให้ใช้ตัวหลัง เนื่องจากมีประสิทธิภาพ รองรับขนาด ของงานได้มากกว่า จึงมีประสิทธิภาพสูง
  24. 24. ข้อดีของ Ruby On Rails  Code เขียนง่าย ไม่ซับซ้อน เมื่อเทียบกับ java  ถ้า Code สั้น โอกาสในการเกิด Bug จึง น้อย  เป็น Open source  มี Library ให้นำาไปใช้เป็นจำานวนมาก  ง่ายต่อการนำาไปขยายและพัฒนาต่อ (extend)  เป็น pure Object Oriented
  25. 25. เริ่มต้นเขียน Ruby On Rails  CreateAppOnRails  สร้าง controller  สร้างไฟล์ hello.rhtml อย่างง่าย  Dynamic Page  สร้าง Link เชื่อมต่อระหว่าง page
  26. 26.  การเขียนโปรแกรมบน Rails  การสร้าง application ศึกษา Model-View-Controller  การสร้าง RSS Reader  การสร้าง Template  การสร้าง Register form  การสร้าง application E- commerce เริ่มต้นเขียน Ruby On Rails [ต่อ]
  27. 27. การติดตั้ง Ruby On Rails  RubyGems  Tool เขียน Ruby “RadRails”  InstantRails
  28. 28. Reference http://wiki.nectec.or.th/setec/Knowled ge/IntroductionToRubyOnRails http://wiki.nectec.or.th/giti/Knowledg e/RubyOnRails
  29. 29. จบการนำาเสนอ

×