• Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
742
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
5
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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