ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

Xamarin

     เป็น Framework ในรูปแบบของ Cross Platform 

 

Xamarin
Xamarin

    

     ในปัจจุบันการเขียน App แบบ Native ด้วย Android จะต้องใช้ภาษา Java และ iOS จะต้องใช้ภาษา Object-C เท่านั้น จะเห็นว่าโครงสร้างและรูปแบบการเขียนของ 2 ภาษานี้ต่างกัน และเป็นการยากที่จะให้นักพัฒนาไปใช้ภาษา Java หรือ Objective-C

 

ความสามารถของ Xamarin

    ไม่ได้มีการใช้ภาษาของตัวเอง แต่จะใช้ภาษา C# ที่ทำงานบน .NET Framework แปลงโค้ดที่เขียนด้วย C# ให้สามารถ Compile ด้วยภาษา Java และ Object-C เพื่อที่จะให้ App ที่เขียนด้วย C# นั้นสามารถทำงานได้เหมือนกับการเขียนด้วยภาษา Java หรือ Objective-C ถ้าแบ่งเครื่องมือพัฒนาแอพฯเป็นประเภทคร่าวๆก็มีดังต่อไปนี้

  • Native -- ภาษาที่ทางผู้พัฒนาแพลตฟอร์มเป็นคนจัดมาให้ เช่น Android - Java, iOS - ObjC/Swift, Window Phone - C#
  • Hybrid - HTML5 + CSS + JavaScript -- มีการเชื่อมต่อกับ Runtime เพื่อเรียกคำสั่งที่ HTML5 ทำไม่ได้ พวก PhoneGap, Kendo จะอยู่ในจำพวกนี้
  • ภาษาอื่นที่คอมไพล์เป็น Native -- เขียนด้วยภาษาอื่นที่ทำขึ้นมาเอง แต่สุดท้ายคอมไพล์ออกมาเป็น Native ซึ่งประเภทนี้แบ่งออกเป็น 2 แบบ คือ
    • ประเภทที่เขียนทีเดียวแล้วรันได้ทุกแพลตฟอร์ม (Write Once Run Anywhere) เช่น Marmalade, Unity3D, libgdx ฯลฯ
    • พวกที่แชร์โค้ดกันระหว่างแพลตฟอร์มได้ส่วนหนึ่ง แต่อีกส่วนต้องเขียนแยกกันไปตามแต่ละแพลตฟอร์ม (Code Sharing) เช่น Xamarin

 

แนวคิดของ Xamarin

     ใช้วิธีสร้าง Core ขึ้นมาแชร์กันตรงกลาง (ADO, Manager, Library, etc.) และแตกส่วน View-Controller ออกเป็นแต่ละแพลตฟอร์มด้วยและเขียนด้วยโครงสร้างภาษาแบบเดียวกับ Native เช่นบน Android ก็ต้องเขียนด้วย xml ใช้ findViewById เพื่อเข้าถึง View นั้นๆ มีการเรียกใช้ Adapter อะไรครบถ้วนเหมือนตัว Native Android ทุกประการ 

 

ข้อมูลอ้างอิง : https://xamarin.in.th

http://www.softmelt.com

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
งานประจำวันที่ 19 สิงหาคม 2562
โดย chatee supasand จ 19 ส.ค. 2019 10:03 am บอร์ด MT33 - นายชาตรี สุภาแสน
2
8
จ 19 ส.ค. 2019 7:51 pm โดย chatee supasand
google เปลี่ยนดีไซน์หน้าค้นหาใหม่ในสมาร์ทโฟนและแสดงไอคอนของเว็บไซต์ได้
โดย jamepiyawat จ 19 ส.ค. 2019 6:33 pm บอร์ด Share Knowledge
0
14
จ 19 ส.ค. 2019 6:33 pm โดย jamepiyawat
Windows 10 เตรียมอัพฟีเจอร์เช็คความร้อนของ GPU โดยไม่ต้องง้อโปรแกรมเสริมได้แล้วใน Build 18963
โดย chatee supasand จ 19 ส.ค. 2019 6:23 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
10
จ 19 ส.ค. 2019 6:23 pm โดย chatee supasand
อยากทราบวิธีการคำนวนจำนวนบรรทัด ใน google sheet
โดย Ittichai_chupol จ 19 ส.ค. 2019 4:19 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
10
จ 19 ส.ค. 2019 4:19 pm โดย Ittichai_chupol
การเสนอราคาสมาคมสโมสรนักลงทุน
โดย EyePornnipa จ 19 ส.ค. 2019 2:59 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
4
จ 19 ส.ค. 2019 2:59 pm โดย EyePornnipa
สอบถาม wkhtmltopdf ตอนแปลงไฟล์ pdf แล้ว graph ใน javascript ไม่มาด้วย มีวิธีแก้ไขไหมครับ
โดย jirawoot จ 19 ส.ค. 2019 2:53 pm บอร์ด Programming - C/C++ & java & Python
0
13
จ 19 ส.ค. 2019 2:53 pm โดย jirawoot
สอบถาม วิธีการนับเวลาในไฟล์วีดีโอครับ
โดย jirawoot จ 19 ส.ค. 2019 11:34 am บอร์ด Programming - C/C++ & java & Python
1
21
จ 19 ส.ค. 2019 5:07 pm โดย jirawoot
งานประจำวันที่ 19 สิงหาคม 2562
โดย EyePornnipa จ 19 ส.ค. 2019 10:15 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
3
17
จ 19 ส.ค. 2019 7:33 pm โดย EyePornnipa
งานประจำวันที่ 19 กรกฎาคม 2562
โดย jamepiyawat จ 19 ส.ค. 2019 10:09 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
1
4
จ 19 ส.ค. 2019 7:56 pm โดย jamepiyawat
งานประจำวันที่ 19 สิงหาคม 2562
โดย jirawoot จ 19 ส.ค. 2019 10:01 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
4
จ 19 ส.ค. 2019 8:11 pm โดย jirawoot
สอบถามเกี่ยวกับการ บวก ลบ ใน Tuple ทำยังไงครับ ภาษา Python
โดย fuyuppe อ 18 ส.ค. 2019 3:20 pm บอร์ด Programming - C/C++ & java & Python
0
26
อ 18 ส.ค. 2019 3:20 pm โดย fuyuppe
น้องเมย์ค่ะ
โดย frenchfriesday อ 18 ส.ค. 2019 1:14 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
31
อ 18 ส.ค. 2019 1:14 pm โดย frenchfriesday
หลักการ วิธีการทำเว็บไซต์แสดงได้หลายภาษา ด้วย PHP เขียนเว็บสองภาษา
โดย jamepiyawat ส 17 ส.ค. 2019 10:17 pm บอร์ด PHP Knowledge
0
58
ส 17 ส.ค. 2019 10:17 pm โดย jamepiyawat
ขอคำแนะนำ เว็บไซด์ค่ะ
โดย Luckluck ส 17 ส.ค. 2019 8:35 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
40
ส 17 ส.ค. 2019 8:40 pm โดย mindphp
Joomla website
โดย Luckluck ส 17 ส.ค. 2019 8:17 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
20
ส 17 ส.ค. 2019 8:37 pm โดย mindphp
Socratic แอปช่วยทำการบ้านและค้นหาบทเรียน
โดย jamepiyawat ส 17 ส.ค. 2019 5:56 pm บอร์ด Share Knowledge
0
28
ส 17 ส.ค. 2019 5:56 pm โดย jamepiyawat
สอบถามการใช้อัตราแลกเปลี่ยนในการบันทึกเจ้าหนี้ต่างประเทศ
โดย EyePornnipa ส 17 ส.ค. 2019 4:06 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
2
30
ส 17 ส.ค. 2019 4:09 pm โดย EyePornnipa
คำสั่งนี้คืออะไรครับ เหมือน short if หรือเปล่าครับ
โดย jamepiyawat ส 17 ส.ค. 2019 2:22 pm บอร์ด Programming - PHP
4
51
ส 17 ส.ค. 2019 3:40 pm โดย jamepiyawat
การลงทะเบียนผู้ค้ากับภาครัฐในระบบ e-GP
โดย EyePornnipa ส 17 ส.ค. 2019 1:53 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
15
ส 17 ส.ค. 2019 1:53 pm โดย EyePornnipa
หากจ่ายชำระค่าโทรศัพท์เกิน ควรบันทึกบัญชียังไง
โดย EyePornnipa ศ 16 ส.ค. 2019 12:10 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
36
ส 17 ส.ค. 2019 11:06 am โดย Amp_Audit