ให้เรตสมาชิก: 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
มารู้จักประเภทของเรียงความภาษาอังกฤษ
โดย Kannaphat อ 24 ม.ค. 2021 1:24 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
5
อ 24 ม.ค. 2021 1:24 pm โดย Kannaphat
การตัดรายการขายสินทรัพย์ที่มีค่าเสื่อม (Assets)
โดย Jiratchaya ส 23 ม.ค. 2021 11:02 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
14
ส 23 ม.ค. 2021 11:02 pm โดย Jiratchaya
วิธีการเขียน Essay อย่างไรให้ตอบโจทย์ผู้อ่าน
โดย Kannaphat ส 23 ม.ค. 2021 6:01 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
12
ส 23 ม.ค. 2021 6:01 pm โดย Kannaphat
python2.7 ติดปัญหา Non-ASCII character
โดย chakirin.bfds ส 23 ม.ค. 2021 12:59 pm บอร์ด Programming - C/C++ & java & Python
4
32
ส 23 ม.ค. 2021 2:40 pm โดย chakirin.bfds
ติดปัญหา find หา input ไม่เจอในไฟล์ javascript
โดย eange08 ศ 22 ม.ค. 2021 4:39 pm บอร์ด JavaScript & Jquery Ajax
1
49
ส 23 ม.ค. 2021 3:04 pm โดย eange08
โปรแกรม Kdenlive ตัดเสียงรบกวนอย่างไรคะ
โดย Kannaphat ศ 22 ม.ค. 2021 3:08 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
22
ศ 22 ม.ค. 2021 4:55 pm โดย Kannaphat
ขอวิธีดึงข้อมูลใน list มาแสดงเป็นข้อความทีละบรรทัด
โดย chakirin.bfds พฤ 21 ม.ค. 2021 6:38 pm บอร์ด Programming - C/C++ & java & Python
3
35
ส 23 ม.ค. 2021 1:31 pm โดย mindphp
อะไรบ้างที่คุณต้องรู้เกี่ยวกับการ ‘ซ่อมนาฬิกา’ !
โดย totheworld พฤ 21 ม.ค. 2021 3:05 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
11
พฤ 21 ม.ค. 2021 3:05 pm โดย totheworld