Rapid Business Application Development with LightSwitch


เมื่อวันที่ 17 กุมภาพันธ์ 2555 ที่ผ่านมา
ผมได้รับเกียรติ ให้บรรยายในงาน:
สัมนา Microsoft TechDays Thailand 2012
ณ ห้องแกรนด์บอลรูม โรงแรมสวิสโซเทล เลอ คองคอร์ด
กรุงเทพฯ ถนนรัชดาภิเษก

ใน Session Developer: Unleash the force of Visual Studio
หัวข้อ Rapid Business Application Development with LightSwitch

จึงนำมาสรุป สำหรับคุณผู้อ่าน ที่พลาดโอกาสในงานนี้:

image

รูป: งานสัมนา Microsoft TechDays Thailand 2012

 

Session Developer: Unleash the force of Visual Studio
หัวข้อ Rapid Business Application Development with LightSwitch

ผมขึ้นบรรยายคนแรก ใน Session บ่าย:
และบรรยากาศ จะประมาณนี้ เชิญสำราณได้ ณ บัดนี้

image

 

ความสวยงาม ที่ลืม รู้สึก
แสงพระอาทิตย์ เหลืองอร่าม
บ่งบอกถึง ความมีพลัง มีชีวิต กำลังใจ การสร้างสรรค์ สิ่งใหม่ๆ อีกครั้ง
ขอถามพวกเราว่า?…

แสงอาทิตย์แสนสวยงาม
ที่เราเคยเห็น ครั้งล่าสุดสุดเมื่อไหร่?…

image
หลายท่านเริ่มคิด?…
ทบทวน ย้อนไปในอดีต
เมื่อ เช้า เมื่อวาน…
คิดไม่ออก

 

เนื่องจากเรา ดำเนินชีวิต ด้วยความเร่งรีบ
เร่งรีบ แข่งขัน แข่งขัน เราก็ไม่รู้ ว่าแข่งกับอะไรอยู่?
เร่งรีบ เพื่อเอาเวลา ไปทิ้งบนท้องถนน(รถติด)

จนบางครั้ง
เราลืมมอง ความสวยงาม ระหว่างทาง

ทั้งที่จริงแล้ว
แสงตะวัน ไม่เคยหนี หายไปใหน
มันยังคงเริ่ม จากทางทิศ ตะวันออก
และสิ้นสุด ทางทิศตะวันตก

ดวงตะวัน แต่ละวัน มีความงาม
และยังคง ส่องแสง แห่งความหวัง
ให้กับผู้คนทั้งหลาย อยู่ทุกวัน
วันแล้ว วันเล่า เมื่อพันๆ ล้านปีมาแล้ว จวบจนปัจจุบัน
แต่เราลืม ลืมเก็บเกี่ยว
มอง… รู้สึก… ถึงความงดงาม เหล่านั้น

 

LightSwitch คืออะไร?
มาดูว่า LightSwitch
จะมาช่วยให้ชีวิต  Developer ดีขึ้นอย่างไรบ้าง?

แต่หลายท่าน ก็เกิดคำถามว่า แล้ว
LightSwitch คืออะไร?

image
LightSwitch เป็นเครื่องมือการพัฒนาโปรแกรมอย่างรวดเร็ว(RAD Tool) ชนิดหนึ่ง
เช่นเดียวกับ Visual Studio 2010(VS2010) แต่
VS2010 ผู้ใช้ ต้องเป็นนักพัฒนามืออาชีพ
เป็นผู้ที่มีทักษะ ด้านการเขียนโปรแกรมขั้นสูง

แต่ Lightswitch เป็นโปรแกรม Add-on บน VS2010
เป็นแพลตฟอร์มใหม่ในการพัฒนาที่ไม่จำเป็นต้องเขียนโค้ด
ก็สามารถสร้างโปรแกรมทางธุรกิจที่มีคุณภาพระดับมืออาชีพได้
และสร้างง่ายเสมือนหนึ่งใช้ปลายนิ้วผลักสวิทช์ไฟ
สร้างครั้งเดียวสามารถนำไปใช้ได้หลายที่ เช่น
เป็น WinApp, WebApp และ CloudApp
ที่สำคัญผู้ใช้งานไม่จำเป็นต้องเป็นนักพัฒนามืออาชีพ
ไม่จำเป็นต้องมีทักษะการเขียนโปรแกรมขั้นสูง

 

Development Cycle
ในวงจรการพัฒนาโปรแกรม ของพวกเรานักพัฒนา
ไม่ว่าระบบใดๆ ก็ตาม
เมื่อผ่านกระบวนการวิเคราะห์เป็นที่เรียบร้อยแล้ว
สุดท้าย เราจะได้ข้อมูลมา ก้อนหนึ่ง

หน้าที่ของนักพัฒนาคือ

  • ออกแบบหน้าจอ
  • เขียนโค้ด เพื่อติดต่อฐานข้อมูล
    • จัดการข้อมูล
    • คิวรี่ข้อมูล
    • หรือนำข้อมูลออกมาใช้งาน

จากนั้นก็นำโปรแกรมไปให้ผู้ใช้ ใช้งาน
ความจริงก็ปรากฏ
ผู้ใช้เริ่มเข้าใจว่า จริงๆ แล้วตัวเองต้องการอะไร?
ผู้ใช้งานจะเข้าใจทันทีว่า อ้อ…
สิ่งที่ต้องการจริงๆ มันเป็นแบบนี้
??!!@@@!!]]&&$$
ต้องแก้ไข 1, 2, 3, 4

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

จนหลายท่านเริ่มมีคำถามขึ้นว่า
น่าจะมีเครื่องมืออะไร? มาทำงานแทนเราได้ (ใหม?)

image
ไมโครซอฟท์
เข้าใจพวกเราดี
จึงได้สร้างเครื่องมือ ตัวนั้นขึ้นมา

 

LightSwitch เครื่องมือวิเศษ
image

โปรแกรม LightSwitch พัฒนาโปรแกรมง่ายมาก
เพียงเรากำหนดฐานข้อมูลให้มัน
มันจะสามารถเข้าไปอ่านโครงสร้างฐานข้อมูล
แล้วนำไปสร้างหน้าจอโปรแกรม ให้เราอัตโนมัติพร้อมใช้งานทันที

 

Core Business
ทำให้นักพัฒนา มีเวลามากขึ้น
ที่จะไปเน้นจุดสำคัญจริงๆ ของโปรแกรม

โปรแกรมเสร็จเร็วขึ้น
ใช้เวลาน้อยลง
มีคุณภาพมากขึ้น
เนื่องจากถูกสร้างด้วยเทมเพลตมาตรฐานของ LightSwitch
นักพัฒนามืออาชีพ ก็จะมีความเป็นมืออาชีพมากยิ่งขึ้นไปอีก

image

 

LightSwitch Technologiess
หลายท่านเริ่มสงสัยว่า
LightSwitch เจ๋งขนาดนั้น
มันสร้างจากอะไรกัน?
image

LightSwitch ถูกสร้างจากเทคโนโลยี
Silverligh+EntityFramework+RIA Service+C#,VB,XAML และ MVVM

จึงทำให้มันฉลาดพอที่
จะสร้างโปรแกรมอย่งอัตโนมัติ ให้เรา
โดยที่เราไม่จำเป็นต้องเขียนโค้ดโปรแกรม

 

มืออาชีพ อย่างเดียวไม่พอ
ถ้าเกิดผู้ใช้มีความต้องการว่า
อยากได้โปรแกรม หน้าจอ ประมาณนี้

image
มีเมนู, มีรายการ เมื่อเราคลิกบนรายการ, ให้แสดงรายละเอียด

ถ้าโปรแกรมมืออาชีพ ขั้นเทพอย่างพวกเรา
ใช้โปรแกรม Notepad+C# แน่นอนว่าโปรแกรมนี้
อาจใช้เวลาหลายสัปดาห์ หรืออาจจะไม่มีวันได้เกิด
แต่ถ้าใช้ VS2010 อาจจะใช้เวลาหลายวัน หรือหลาย ชั่วโมง
แล้วแต่ว่าเราเคยเขียนโปรแกรมในแบบนี้มาก่อนหรือไม่?…
เพราะประสบการณ์ หรือความคุ้นเคย อาจจะช่วยเราประหยัดเวลา
อะไร? ก็ตามถ้าเราเคยผ่านมาแล้ว จะรู้สึกว่าง่าย กว่า

แต่ถ้าหน้จอโปรแกรมนี้ เราใช้ LightSwitch เราจะใช้เวลา
เพียงไม่กี่นาที ไม่ว่าเราจะเคยพัฒนาโปรแกรมนี้มาก่อนหรือไม่ ไม่จำเป็น
เนื่องจาก LightSwitch สร้างให้เราอย่างอัตโนมัติ
ความคุนเคย หรือประสบการณ์ อาจไม่มีประโยชน์ ในส่วนนี้

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

 

LightSwitch กับการใช้งานจริง
ผมนำ LightSwitch ไปใช้งานจริง
โดยทำเป็น Front-ent ของระบบ ระบบหนึ่ง

ชื่อ Service Management System: SMS
image

 

เป็นโปรแกรมที่ผมพัฒนาให้กับบริษัทโฟลว์โก้ จำกัด
ที่ทำงานในปัจจุบันของผม

โดยโปรแกรม SMS Solution มี 3 โปรแกรม

  1. SMS Service
  2. SMS Manage
  3. SMS MINI

ซึ่ง SMS Solution เป็นโปรแกรมในการ จัดการการแจ้งซ่อมงาน
ให้กับปั้มน้ำต่างๆ ทั่วประเทศ
โดยลูกค้าจะแจ้งงานผ่าน Call center
โปรแกรม SMS Manage จะเป็นโปรแกรม เปิดงาน, จ่ายงาน,เข้างาน,ปิดงาน และรวมถึง
การประมวลผล ออกรายงานต่างๆ

ช่าง(VAN) ที่กระจายอยู่ทั่วประเทศ
จะใช้โปรแกรม SMS MINI ในการบันทึกปิดงาน
แล้ว Upload งานเข้าเซอร์ฟเวอร์

และ Manager หรือลูกค้าจะติดตามงาน( Service monitoring) ผ่านโปรแกรม
SMS Service

เกิดปัญหาบางอย่างว่า
Admin ที่ดูแลระบบ SMS Solution
ต้องการจัดการข้อมูลอะไร? บางอย่าง ของระบบ SMS Solution

ผมจึงนำ LightSwitch ไปเชื่อมต่อเข้ากับฐานข้อมูล
แล้วสร้างหน้าจอโปรแกรมอัตโนมัติให้ Admin ใช้งาน
เยี่ยมใหม?
image

 

ตัวอย่างหน้าจอโปรแกรม
ผม Deploy เป็น WinApp โดยใช้ ClickOnce
ไม่จำเป็นต้องไปควบคุมเวอร์ชั่นโปรแกรมบนเครื่องผู้ใช้
เราควบคุมเวอร์ชั่นเดียว คือเวอร์ชั่นบนเซอร์ฟเวอร์

สามารถจัดการสิทธิ์
กำหนดว่าใคร เข้าถึงข้อมูลตัวใหนได้
ผ่าน User Loin

image image

 

หน้าจอหลัก 

image

 

หน้าจอจัดการข้อมูล
สามารเพิ่ม, แก้ไข, ลบข้อมูลได้ โดยที่เรายังไม่ได้เขียนโค้ดแม้บรรทัดเดียว

imageimage

 

สามารถเชื่อมต่อเข้ากับโปรแกรม Excel อัตโนมัติ

imageimage

มีบางรายงานที่ผู้ใช้งานขอบ่อยๆ
ผมจะสร้าง View บน MS SQL
แล้วกำหนด สร้างหน้าจอบน LightSwitch
ให้ผู้ใช้งานกรองข้อมูล ตามที่ตัวเองต้องการ
เพื่อ Export เป็น Excel แล้วนำไปใช้งาน วิเคราะห์ต่อในรูปแบบของ Excel ต่อไป

 

จะเห็นว่า… 

image

 

LightSwitch คืคำตอบ

  • ไม่ว่าเราจะเป็นนักพัฒนามืออาชีพ หรือ
  • ผู้ดูแลระบบ หรือ
  • ผู้ใช้งานทั่วไป

เราสามารถใช้ LightSwitch ในการสร้างโปรแกรม ได้อย่าง่ายดาย
เนื่องจาก มันประกอบด้วย:
Silverligh+EntityFramework+RIA Service+C#,VB,XAML และ MVVM
จึงทำให้เราสามารถสร้างโปรแกรม ที่มีคุณภาพ ในระดับมืออาชีพ ได้อย่างง่ายดาย
เสมือนหนึ่ง ใช้เพียงปลายนิ้ว ผลักสวิตช์ไฟ

image
มันง่ายอย่างนั้นจริงๆ

 


Slide & Video:

Slide Link {Microsoft TechDays Thailand 2012-02-17} :
http://slidesha.re/Ms-Techday12-LS

 

Video Link: {Microsoft TechDays Thailand 2012-02-17} :
http://bit.ly/Ms-Techday12-LS-D1
http://bit.ly/Ms-Techday12-LS-D2

 

Video ใน session Developer{ผู้ฟังถ่านทำกันเอง(โดย: อ.บอล แห่ง CodeToDay)} 
http://www.youtube.com/codetoday

 


ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: https://janawat.wordpress.com
Nuchit’s Profile @microsoft
https://mvp.support.microsoft.com/profile/nuchit
Facebook:
https://www.facebook.com/nuchit
Twitter:
http://twitter.com/janawat

เกี่ยวกับ

Nuchit Atjanawat is a Microsoft MVP, GreatFriends Community Leader, WindowsITPro Columnist(Mr.Nano), Silverlight Business Application Instructor, Speaker in various Microsoft events, Author, passionate Blogger and a Software Engineer by profession. He has a very good skill over Silverlight, LightSwitch, C#, XAML & Blend. He shares his technical findings, tutorials in his technical blog. Follow his Blog and Facebook page to be updated on latest articles. - Technical Blog: https://janawat.wordpress.com - WindowsITPro Columnist(Mr.Nano): http://windowsitpro.net - The GreatFriends.Biz Community Discussion Board (nano): http://greatfriends.biz - witter: https://twitter.com/janawat - Facebook Page: https://www.facebook.com/nuchit - Instructor: http://bit.ly/GF250-01, http://bit.ly/GF150-02

Tagged with:
เขียนใน LightSwitch

ใส่ความเห็น

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

In Archive
%d bloggers like this: