Xamarin Form Hello World

feedallcat
Arcadia Software Development
2 min readDec 4, 2018

ปัจจุบันเทคโนโลยีโปรแกรม แอปพลิเคชัน การพัฒนาสื่อต่างๆได้เติมโตอย่างรวดเร็ว และมีเครื่องมือที่ช่วยจนแทบจะไม่ต้องเขียนอะไรเองเลย เพียงแค่เรานำสิ่งที่มีนักพัฒนาคนอื่นๆได้ทำ open source ใว้ให้แล้ว มาประกอบรวมกันจนเกิดเป็นสิ่งที่เราต้องการ ไม่ว่าจะเป็น Android ซึ่งทาง Google ได้พัฒนามาแล้วกว่า10ปี หรือว่าจะเป็น iOS ของทาง Apple หรือแม้แต่เวปไซต์ต่างๆ ไม่ว่าจะเป็น Angular ของ Google หรือ React ที่ Facebook ใช้ทำเวปตัวเองอยู่ ซึ่งปัจจุบันมีเครื่องมือเฟรมเวร์คมากมายที่ช่วยให้เราผู้พัฒนา นั่นสบายมากขึ้นเพียงแค่เรานำเอาชิ้นส่วนต่างๆมาประกอบกันก็เป็นอันเสร็จสิ้น

ที่ผมเขียนมาทั้งหมดนี้ผมผู้เขียนบทความอยากจะนำเสนอเครื่องมือเครื่องมือหนึ่งที่ผมได้ลองใช้ทำงานอยู่ปัจจุบันและมันก็ค่อนข้างช่วยลดเวลาในการพัฒนาแอปพลิเคชันบนมือถือได้ค่อนข้างเยอะมากเพราะมันแทบจะสามารถช่วยให้เราทำการเขียนโค๊ดเพียงครั้งเดียว แล้ว Build ออกมาให้ทั้ง Android และ iOS เลยในทีเดียว !! ซึ่งก็คือ Xamarin Form ของ Microsoft นั่นเอง แต่ก็จะมีข้อจำกัดบางอย่างที่ทำไม่ได้ ซึ่งผมจะมาอธิบายและสอนทีหลังตามท้องเรื่องครับ

เราจะมาเริ่มกันตั้งแต่สร้างโปรเจคกันเลยนะครับ โดยซอฟแวร์ที่ผู้เขียนบทความใช้คือ Visual Studio 2017 Enterprise ซึ่งไม่แน่ใจว่าเพื่อนๆบางคนอาจจะไม่ได้ซื้อใว้ อาจจะใช้เป็น Visual studio community ก็ได้ และจำเป็นจะต้องติดตั้ง Xamarin ด้วย และจะต้องอัพเดธให้เป็นเวอร์ชั่นล่าสุดเสมอ

เลือก Template แบบ Blank ถ้าเกิดว่าใครอยากลองตัวอย่างอื่นๆ ในที่นี้ผู้เชียนจะเลือก Platform เฉพาะ Android กับ iOS เท่านั้นนะครับ

เราจะได้หน้าตาที่ถูก Visual Studio Generate ขึ้นมาให้แบบนี้

แน่นอนครับตามชื่อหัวเรื่อง เราจะมาลองเปลี่ยน Text ที่อยู่ใน Label ให้เป็นคำว่า Hello World กันแบบนี้ครับ

<?xml version="1.0" encoding="utf-8" ?><ContentPage xmlns="http://xamarin.com/schemas/2014/forms"xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"xmlns:local="clr-namespace:Tutorial"x:Class="Tutorial.MainPage"><StackLayout><!-- Place new controls here --><Label Text="Hello World"HorizontalOptions="Center"VerticalOptions="CenterAndExpand" /></StackLayout></ContentPage>

แล้วลองกดรันโดย Android ก่อนนะครับ ไม่ว่าจะ Emulator หรือ Device จริงๆ

ส่วน iOS ผมจะสอนในบทหน้า มันค่อนข้างมีอะไรซับซ้อนครับ

บทต่อไป

--

--