What is Silverlight?

posted on 09 Oct 2009 18:44 by ouilek in PROGRAMMING

หากเข้า Google แล้ว search ด้วยคำว่า "Silverlight" หรือ "What is Silverlight?" ก็จะเจอ Link เป็นแสนเลยทีเดียว ใน Page ก็จะเจอเวปของ http://www.microsoft.com/silverlight/overview/default.aspx ซึ่งเป็น Link ของ Microsoft เจ้าของ Silverlight Technology ที่จะมีคำอธิบายมากมาย..

 

ก่อนที่จะเข้าเนื้อหา.. ส่วนหนึ่งก่อนเขียน Entry นี้เกิดมาจากได้คุยกับเฮีย Metrix เฮียถามว่าตอนนี้ทำงานอะไรแล้ว ถ้าใครตามบลอคอุ้ยมาตั้งแต่ต้น ก็จะทราบว่าช่วงต้นปีอุ้ยตกงาน และเปลี่ยนงานมาแล้วถึง 2 ครั้ง.. ปัจจุบันทำอยู่กับบริษัทต่างชาติแห่งนึง อยู่แถวๆ ชิดลม เขียนโปรแกรมเหมือนเดิม (คงไม่มีปัญญาทำมาหากินด้านอื่นแล้วล่ะ) แต่ Tools ที่ใช้มีอะไรใหม่ๆ เข้ามา

 

ถ้าถามว่า Silverlight เป็น Tools ตัวนึงหรือป่าว อาจตอบได้ไม่เต็มปากนัก อุ้ยมองว่ามันเป็นเหมือนตัว Add on ตัวนึงที่ทำงานบน Web Application ได้สวยเลิศ แต่จะให้นิยามตรงๆ ก็ไม่รู้จะพูดยังไง เมื่อก่อนถ้าเราจะออกแบบหน้าตาเวปไซต์ ไม่ว่าจะเป็นเวปไซต์ content เน้นแต่เนื้อหา หรือเวปไซต์ 2.0 หรือ 3.0 ที่มี Application รองรับ สามารถให้ user มี activity บนเวปไซต์ได้นั้น เราจะรู้จักภาษาพื้นฐานกันดีคือ HTML (ย่อมาจากอะไรไปหาเอาเองนะ)

 

แต่สำหรับ Silverlight แล้ว.. ลืมไปเลยว่า HTML เป็นยังไง เพราะเจ้านี้มีลูกเล่นเข้ามาใหม่ด้วยภาษา XAML Microsoft ทำ Software ขึ้นมาทั้งหมด 5-6 ตัว เป็น Software ตัวที่พัฒนา Silverlight ตัวอื่นไม่ต้องรู้มากหรอกเด่วงง.. รู้ตัวที่อุ้ยใช้พอ อิอิ.. เนื่องจากถ้าบอกตัวอื่นเดียวมีคนมาถาม.. พอมาถามแล้วอุ้ยดันตอบไม่ได้เพราะอุ้ยไม่ได้ใช้.. Tools ที่อุ้ยใช้หลักๆ มีแค่ 3 ตัว คือ Microsoft Visual Studio .NET หรือเรียกสั้นๆ VS.Net ตอนนี้ใช้ version 2008 จ้า สำหรับ VS.NET ใช้ใน coding (เขียนโปรแกรมเป็นสำคัญ) ส่วนอีกตัวคือ Microsoft Expression Blend Version 3 ใช้ในการ design screen (ออกแบบหน้าจอ) และอีกตัวนึงใช้ในการจัดการกับ Database คือ SQL Server Management Studio

 

นอกจาก Tools หลักๆ แล้วเราต้องมีตัว Add on เป็นตัวที่ทำงานอยู่เบื้องหลัง ถ้าไม่มีก็อาจจะยากในการจัดการ หรืออาจต้องใช้วิธีเก่าๆ ซึ่งในเมื่อเราจะสร้าง Silverlight ทั้งที่ ก็น่าจะใช้อะไรใหม่ๆ ทั้งหมด ตัวหลักตัวแรกที่เราจำเป็นต้องมีการบริหารจัดการกับ Data และงานในการจัดการและเรียกใช้ ในที่นี้เราจะเรียกว่า DAL และ DAL ย่อมาจาก Data Access Layer (ถ้ารู้จัก OSI 7 Layers นึกตามนะคะ จะเข้าใจมากขึ้น) แต่เพื่อให้เข้าใจ Data Access Layer อุ้ยจะดึงข้อมูลจาก  http://www.microsoft.com/thailand/msdn/articles/Tutorial1CreatingaDataAccessLayer.aspx ถ้าใครสนใจตามเข้าไปอ่านเพิ่มเติมจะเข้าใจมากขึ้นค่ะ

 

Data Access Layer

 เมื่อทำงานร่วมกับข้อมูล  ทางเลือกอย่างหนึ่งก็คือการฝังโลจิกเฉพาะข้อมูลลงไปใน  presentation  layer เลย (ถ้าหากพูดถึงเว็บแอพพลิเคันแล้ว  เพจ  ASP.NET จะเป็นตัวสร้าง presentation layer ขึ้นมา) เรื่องนี้เกี่ยวข้องกับการเขียนโค้ด     ADO.NET    ในองค์ประกอบส่วนที่เป็นโค้ดของเพจ    ASP.NET    หรือใช้คอนโทรล SqlDataSource  จากส่วนของ markup ก็ได้ ซึ่งไม่ว่าจะเป็นกรณีใดก็ตาม แนวทางนี้จะเป็นการจับคู่โลจิกเรียกใช้ข้อมูลกับ  presentation layer เข้าด้วยกัน อย่างไรก็ตามวิธีการที่เราอยากแนะนำก็คือการแยกโลจิกเรียกใช้ข้อมูลออกจาก  presentation  layer  โดยที่เลเยอร์ที่แยกออกมานี้มีชื่อว่า  Data Access Layer (DAL) และโดยปกติแล้วจะทำออกมาในรูปของโปรเจ็กต์  Class  Library แยกต่างหาก ปมเด่นของโครงสร้างที่แบ่งออกเป็นเลเยอร์นี้มีระบุเอาไว้ในบทความอื่นๆแล้ว  (ดูหัวข้อ "แหล่งข้อมูลอื่นๆ" ภายในบทความนี้) และนี่คือแนวทางที่เราจะนำมาใช้ในบทความในชุดนี้

โค้ดทั้งหมดที่เกี่ยวข้องกับแหล่งข้อมูล   (อาทิเช่นการสร้างการเชื่อมโยงไปยังดาต้าเบส  การออกคำสั่ง  SELECT, INSERT,  UPDATE และ DELETE และอื่นๆ) ควรที่จะเก็บเอาไว้ใน DAL โดยที่ presentation layer ไม่ควรมีการอ้างอิงไปยังโค้ดเรียกใช้ข้อมูล   แต่ควรจะเรียกใช้ข้อมูลทั้งหมดจากใน  DAL  มากกว่า  โดยปกติแล้ว  Data Access  Layers มักมี method สำหรับการเรียกใช้ข้อมูลดาต้าเบส

 

 

วันนี้เอาไปแค่นี้ก่อนล่ะกันนะ.. อยากจะบอกว่า Entry นี้เป็น Entry ที่ยากในการเขียนมากๆ เพราะว่า 1. สิ่งที่เขียนทั้งหมดต้องเป็นจริง มีการอ้างอิงนู่นนี่ และที่สำคัญต้องใช้ความรู้ที่มีอยู่ ภาษาที่อ่านง่าย.. และก็ใช้เวลานานมากกว่าจะเขียนได้แค่เนี้ย.. เอาเป็นว่าถ้าใครมีอะไรสงสัยถามได้นะคะ อุ้ยจะใช้ความพยายามทั้งหมดเพื่อที่จะหาคำตอบมาให้.. แต่ขอร้องอย่ามาลองภูมิ.. ในโลกนี้มีคนอยู่ 2 อย่างคือ คนที่รู้ กับ คนที่ไม่รู้

 

เพราะงั้นแล้ว "ผู้ไม่รู้คือผู้ไม่ผิด" หรือผู้ที่รู้ผิดๆ และถ้ามีผู้รู้ถูกๆ มาเจอเข้า กรุณาแสดงความรู้นั้นให้กระจ่างแก่ผู้ที่รู้ผิดๆ เค้าจะได้รู้แบบถูกๆ ไม่ใช่มาลองภูมิแล้วตบท้ายว่า "เมิงโง่เจงๆ" เพราะถ้ามีผ่านเข้ามาในบลอคนี้.. จะโดนมิใช่น้อย..

 

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

 

ขอขอบคุณล่วงหน้ามา ณ ที่นี้ด้วย ^^

Comment

Comment:

Tweet

พี่อุ้ยเก่งจัง big smile ก้อยไม่ได้ทำงนเกี่ยวกับพวกคอมฯ นานหลายปีแล้ว ชักจะลื่มที่อาจารย์สอนมาแล้ว งะ... sad smile

#2 By ~นิ้วก้อย~ on 2009-10-10 07:50

เข้่ามาอ่่านอย่างเดียว
นานแล้วนะนั่นตั้งแต่คุยกันตอนนั้น
เดี๋ยวนี้ชักเริ่มจะมีกระแส Silverlight™ มากขึ้น
แต่ addons ของ Silverlight™ เองก็ใหญ่เอาเรื่องอยู่
เวลาที่จะติดตั้งเนี่ย

แต่เท่าที่ไปดู Demo Site ที่เขียนด้วย SL แล้ว
สุดยอดดดดด

#1 By Maxtrix™ on 2009-10-10 00:43