NativeScriptXamarin

ทุกอย่างที่ควรรู้ ในการเริ่มต้นกับ NativeScript

เรื่องที่เกี่ยวข้อง - Beginner, NativeScript

NativeScript คืออะไร? แน่นอนว่าถ้าพวกเราเข้ามาเจอบทความนี้ น่าจะกำลังสงสัยอยู่แน่ๆ พลขอแนะนำเทคโนโลยี NativeScript ง่ายๆ ดังนี้

มันใช้ในพัฒนาโมบายล์แอพพลิเคชั่น (Mobile Application)

ภาพโดย Messicanbeer
ภาพโดย Messicanbeer

ในตอนที่พลอธิบายอยู่นี้ โลกเปลี่ยนจากยุคคอมพิวเตอร์ที่จำกัดการใช้งานในวงแคบๆ สู่คอมพิวเตอร์ในรูปแบบของอุปกรณ์พกพา (Mobile Device) ที่คนใช้แอพพลิเคชั่นบนสิ่งนี้หลายร้อยล้านคน

ด้วยความนิยมอย่างล้นหลาม หลายๆ คนก็เริ่มเรียนรู้วิธีเขียนโปรแกรมพัฒนาแอพพลิเคชั่นสำหรับอุปกรณ์พกพาเหล่านี้ และคนทำเว็บก็เป็นกลุ่มหนึ่งในนั้น

เครื่องมือและภาษาโปรแกรมที่คนทำเว็บคุ้นเคย ก็ได้แก่ HTML, CSS, และ JavaScript (ไม่นับรวมฝั่งภาษาของที่ทำงานบนเครื่องเซิฟเวอร์ และติดต่อฐานข้อมูล) ซึ่งโดยปกติการพัฒนาโมบายล์แอพพลิเคชั่นต้องใช้ภาษาของระบบนั้นๆ เช่น Objective-C หรือ Java เรียกรวมว่าภาษา Native

ซึ่ง NativeScript ออกแบบมาให้นักพัฒนาเว็บใช้ความรู้เดิมที่มี สร้างโมบายล์แอพพลิเคชั่นแบบ Native ที่ว่านี้ได้

NativeScript ทำให้นักพัฒนาเว็บ สร้างโมบายล์แอพพลิเคชั่นแบบ Native ได้

Native Mobile Illus.png

หากลองค้นหาข้อมูลเกียวกับการทำโมบายล์แอพพลิเคชั่น จะเห็นภาพรวมว่ามันแบ่งออกเป็น 3 ประเภท

  1. แบบ Native
  2. แบบ Hybrid Cross Platform
  3. แบบ Native Cross Platform

ซึ่ง Cross Platform คือคุณสมบัติในการพัฒนาแอพพลิเคชั่นที่ใช้โค้ดร่วมกันได้ในหลายๆ ระบบ เช่น การติดต่อฐานข้อมูล SQLite ที่ต้องทำบน iOS และ Android ก็สามารถเขียนใช้ร่วมกันได้

และ NativeScript อยู่ในกลุ่มที่ 3 แบบเดียวกับ Xamarin (ใช้ภาษา C#.NET) หรือ React Native (สาย Javascript) ที่สามารถพัฒนาแอพพลิเคชั่นได้เหมือนกับวิธี Native

เพียงแต่สามารถแชร์โค้ดระหว่างระบบได้ และใช้ความรู้ในภาษา JavaScript เป็นหลัก

NativeScript สร้างโมบายล์แอพพลิเคชั่น เหมือนกับวิธีสร้างแบบ Native ได้อย่างไร?

NativeScript Runtime.png

เอาล่ะ แม้แต่มายากลที่น่าตื่นตะลึงที่สุดก็มีวิธีทำที่เปิดเผยได้ NativeScript ก็เช่นกัน และหนึ่งในหัวใจสำคัญของคือ NativeScript Runtime

NativeScript Runtime อาศัยหลักการทำงานที่คล้ายกับ Runtime รุ่นพี่ๆ อย่าง .NET, Java, และ Node (ทำความเข้าใจและเรียนรู้ Node ที่นี่) นั่นคือมันออกแบบมาให้อ่านคำสั่ง JavaScript และทำงานกับระบบที่มันอาศัยอยู่โดยตรง ซึ่งในที่นี้ก็คือ iOS, Android, และ Windows Phone

NativeScript สามารถเข้าถึงเซ็นเซอร์ต่างๆ ได้เหมือนใช้ภาษา Native

กลไกที่ 2 ของ NativeScript คือ NativeScript Module ครับ สำหรับมือใหม่ มันคือชิ้นส่วนของระบบที่สามารถถอดเข้าออก และเสริมเข้าไปในแอพพลิเคชั่น เหมือนเล่นตัวต่อเลโก้

  • หากเคยเขียน JavaScript มาพวกนี้คล้ายๆ JavaScript Library
  • หากเคยเขียน .NET มา พวกนี้คล้ายๆ DLL หรือ  NuGet Package
  • หากเคยเขียน Java มา พวกนี้คล้ายๆ ไฟล์ JAR

โดย NativeScript Module นี่แหละ ที่จะทำงานบน Runtime อีกที ดังนั้นเราสามารถเข้าถึง และเรียกใช้ Native API ของระบบนั้นได้ทุกตัวผ่านภาษา JavaScript

เช่น การเรียกใช้ระบบไฟล์แบบ JavaScript

var fs = require( "file-system" );

var file = new fs.File( path );

 

หรือการเรียกใช้แบบ TypeScript (ใช่ NativeScript รองรับการเขียนด้วย JavaScript และ TypeScript)

import {File} from "file-system";

let file = new File( path );

 

แถมอยากจะเขียนเพิ่มเองก็ได้ ในกรณีที่อยากใช้ Library ของภาษา Native ในโปรเจคของ NativeScript เช่นหากเราต้องการแสดงเวอร์ชั่นของระบบก็แยกเขียนดังนี้

// device.ios.js
module.exports = {
    version: UIDevice.currentDevice().systemVersion
}

// device.android.js
module.exports = {
    version: android.os.Build.VERSION.RELEASE
}

 

NativeScript จึงต่างจากการทำ Mobile Application แบบ Hybrid Cross Platform

NativeScript and WebView.png

เพราะการพัฒนาแอพพลิเคชั่นแบบ Hybrid เวลาระบบทำงาน จะอยู่บนสิ่งที่เรียกว่า WebView (เข้าไปดูที่พลอธิบายไว้ที่นี่)  แต่ NativeScript จะทำงานบน JavaScript Runtime และใช้ User Interface แบบ Native แทน

NativeScript จึงไม่มีการทำงานที่เกี่ยวข้องกับ WebView ทำให้ NativeScript มีการทำงานใกล้เคียงแอพพลิเคชั่นแบบ Native ขึ้นอีก

NativeScript จึงเหมาะมากสำหรับคนทำเว็บเป็นอยู่แล้ว

จะเห็นได้ว่า NativeScript อัดแน่นด้วยแนวคิดจากการทำเว็บไซต์เดิม ทั้งในส่วน

  • การสร้างส่วนติดต่อผู้ใช้ (UI) ที่ใช้ XML
  • การเขียนควบคุมส่วนการทำงานที่ใช้ JavaScript และ TypeScript

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

ถ้าสนใจเรียนแล้วเอาไปเริ่มโปรเจคของตัวเองได้ทันที ลองมาเริ่มต้นกับคอร์สของพลที่นี่ได้

สุดท้ายล้ะ NativeScript ใช้ฟรี

เหนือสิ่งอื่นใด เทคโนโลยีอย่าง NativeScript นั้นเป็น Open Source (อีกแล้ว ฮาๆ) และเปิดให้เอาไปใช้งานได้ฟรี มี Community และ GitHub ไว้ตั้งกระทู้ถาม หรือแจ้ง bug เข้าไป

อัพเดตเรื่อง NativeScript ก็มีต่อเนื่อง ติดตามได้จากแฟนเพจของ NativeScript Developer Thailand

หวังว่าจะทำให้เข้าใจสิ่งที่เรียกว่า NativeScript นี้ไม่มากก็น้อยนะครับ

วันนี้ขอตัวไปวิ่งก่อนล่ะ

 

 

 

 

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

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

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

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save