PhoneGap - คู่มือฉบับย่อ

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

สถาปัตยกรรมของอุปกรณ์พกพานั้นคล้ายคลึงกับระบบคอมพิวเตอร์ มีฮาร์ดแวร์เฟิร์มแวร์และระบบปฏิบัติการที่สร้างขึ้นเอง

ทั้งสามรายการนี้ส่วนใหญ่เป็นกรรมสิทธิ์และได้รับการออกแบบพัฒนาและประกอบภายใต้องค์กรหลักแห่งเดียว แอพ (ซอฟต์แวร์แอพพลิเคชั่น) ได้รับการพัฒนาทั้งโดยองค์กรหลักและนักพัฒนาจากภายนอกองค์กร

ระบบปฏิบัติการมือถือที่ได้รับการยอมรับจำนวนมากมีวางจำหน่ายในตลาดทั้งประเภทที่เป็นกรรมสิทธิ์และโอเพ่นซอร์ส ระบบปฏิบัติการมือถือที่ใช้กันอย่างแพร่หลาย ได้แก่ -

  • Android
  • IOS
  • BlackBerry
  • Windows

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

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

PhoneGap

PhoneGap อาจถูกมองว่าเป็นวิธีแก้ปัญหาทั้งหมดที่กล่าวมาข้างต้น PhoneGap เป็นเฟรมเวิร์กที่ทำให้นักพัฒนาพัฒนาแอพของตนโดยใช้เว็บ API มาตรฐานสำหรับระบบปฏิบัติการมือถือหลัก ๆ ทั้งหมด เป็นโอเพ่นซอร์สและฟรี

นักพัฒนาจำเป็นต้องรู้จักการพัฒนาเว็บโดยใช้ HTML, CSS และ JavaScript เท่านั้น PhoneGap ดูแลส่วนที่เหลือของงานเช่นรูปลักษณ์ของแอพและความสามารถในการพกพาระหว่างระบบปฏิบัติการมือถือต่างๆ

การใช้ PhoneGap เราสามารถสร้างแอพสำหรับระบบปฏิบัติการมือถือหลัก ๆ เช่น Apple iOS, Android, BlackBerry, Windows เป็นต้นซึ่งไม่จำเป็นต้องให้นักพัฒนามีความเชี่ยวชาญในแพลตฟอร์มใด ๆ ที่กล่าวมาข้างต้นผู้พัฒนาไม่จำเป็นต้องรู้การเขียนโปรแกรม เพื่อโค้ดแอปตั้งแต่เริ่มต้น

PhoneGap อนุญาตให้ผู้ใช้อัปโหลดเนื้อหาข้อมูลบนเว็บไซต์และจะแปลงเป็นไฟล์แอพต่างๆโดยอัตโนมัติ

ในบทช่วยสอนนี้เราจะดูวิธีสร้างแอปสำหรับแพลตฟอร์ม Apple, Android และ Windows ทางออนไลน์โดยไม่ต้องใช้เครื่องมือออฟไลน์ใด ๆ

ในบทนี้เราจะเรียนรู้วิธีตั้งค่าสภาพแวดล้อมพื้นฐานเพื่อสร้างแอพได้อย่างง่ายดาย แม้ว่า PhoneGap จะรองรับการสร้างแอปออฟไลน์โดยใช้อินเทอร์เฟซบรรทัดคำสั่ง Cordova และกลไกการจัดเก็บ Github แต่เราจะมุ่งเน้นไปที่ขั้นตอนความพยายามขั้นต่ำ

เราถือว่าคุณมีความเชี่ยวชาญในเทคโนโลยีเว็บเป็นอย่างดีและมีเว็บแอปพลิเคชันของคุณพร้อมที่จะจัดส่งเป็นแอป เนื่องจาก PhoneGap รองรับเฉพาะ HTML, CSS และ JavaScript จึงจำเป็นต้องสร้างแอปพลิเคชันโดยใช้เทคโนโลยีเหล่านี้เท่านั้น

จากมุมมองของนักพัฒนาแอปควรมีรายการต่อไปนี้รวมอยู่ในแพ็คเกจ -

  • ไฟล์การกำหนดค่า
  • ไอคอนสำหรับแอป
  • ข้อมูลหรือเนื้อหา (สร้างโดยใช้เทคโนโลยีเว็บ)

การกำหนดค่า

เว็บแอปของเราต้องการไฟล์การกำหนดค่าเพียงไฟล์เดียวที่ควรเพียงพอสำหรับกำหนดการตั้งค่าที่จำเป็นทั้งหมด ชื่อของมันคือ config.xml ไฟล์นี้มีข้อมูลที่จำเป็นทั้งหมดในการคอมไพล์แอพ

ให้เราดู config.xml สำหรับตัวอย่างของเรา -

<?xml version = "1.0" encoding = "UTF-8"?>

<widget xmlns = "http://www.w3.org/ns/widgets" 
   xmlns:gap = "http://phonegap.com/ns/1.0" id = "com.tutorialspoint.onlineviewer" version = "1.0">
   
   <name>Tutorials Point</name>
   
   <description>
      Tutorials Point Online Viewer
   </description>
   
   <author href = "http://tutorialspoint.com" email = "[email protected]">
      Tutorials Point
   </author>
   
   <preference name = "permissions" value = "none"/>
   
   <icon src = "res/icon/android/drawable-ldpi/tp_icon.png" 
      gap:platform = "android" gap:qualifier = "ldpi" />
		
   <icon src = "res/icon/android/drawable-mdpi/tp_icon.png" 
      gap:platform = "android" gap:qualifier = "mdpi" />
		
   <icon src = "res/icon/android/drawable-hdpi/tp_icon.png" 
      gap:platform = "android" gap:qualifier = "hdpi" />
		
   <icon src = "res/icon/android/drawable-xhdpi/tp_icon.png" 
      gap:platform = "android" gap:qualifier = "xhdpi" />
		
   <icon src = "res/icon/android/drawable-xxhdpi/tp_icon.png" 
      gap:platform = "android" gap:qualifier = "xxhdpi" />
   
   <icon src = "res/icon/ios/Icon-72.png" gap:platform = "ios" gap:qualifier = ""/>
   <icon src = "res/icon/ios/icon-57.png" gap:platform = "ios" width = "57" height = "57" />
   <icon src = "res/icon/ios/icon-72.png" gap:platform = "ios" width = "72" height = "72" />
   <icon src = "res/icon/ios/icon-57-2x.png" gap:platform = "ios" width = "114" height = "114" />
   <icon src = "res/icon/ios/icon-72-2x.png" gap:platform = "ios" width = "144" height = "144" />
   
</widget>

เนื้อหาการกำหนดค่าทั้งหมดอยู่ในแท็ก <widget> คำอธิบายสั้น ๆ มีดังต่อไปนี้ -

<widget id = ”app_id”>

id คือรหัสแอปที่คุณสงวนไว้ในร้านค้าแอปต่างๆ เป็นชื่อโดเมนแบบย้อนกลับเช่น com.tutorialspoint.onlineviewer เป็นต้น

<widget version = "x.y.z">

นี่คือหมายเลขเวอร์ชันของแอปในรูปแบบ xyz โดยที่ (x, y, z) เป็นจำนวนเต็มบวกเช่น 1.0.0 ซึ่งแสดงถึงระบบเวอร์ชัน major.minor.patch

<name> App Name</name>

นี่คือชื่อของแอพซึ่งจะแสดงอยู่ใต้ไอคอนแอพบนหน้าจอมือถือ แอปของคุณสามารถค้นหาได้โดยใช้ชื่อนี้

<description> My First Web App </description>

นี่คือคำอธิบายสั้น ๆ ว่าแอพนี้เกี่ยวกับอะไรและมันคืออะไร

<author> Author_Name </author>

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

<preferences name = "permissions" value = "none">

แท็กการตั้งค่าใช้เพื่อตั้งค่าตัวเลือกต่างๆเช่น FullScreen, BackgroundColor และ Orientation สำหรับแอป ตัวเลือกเหล่านี้อยู่ในคู่ชื่อและค่า ตัวอย่างเช่น name = "FullScreen" value = "true" เป็นต้นเนื่องจากเราไม่ต้องการการตั้งค่าล่วงหน้าใด ๆ เหล่านี้เราจึงไม่ใส่สิทธิ์ใด ๆ

<icon>

ช่วยให้เราสามารถเพิ่มไอคอนให้กับแอพของเรา สามารถเข้ารหัสได้หลายวิธี แต่เนื่องจากเรากำลังเรียนรู้ทุกสิ่งอย่างสั้น ๆ จึงอยู่ที่นี่ .srcกำหนดเส้นทางของภาพไอคอน gap:platformกำหนดว่าไอคอนนี้จะใช้กับแพลตฟอร์มระบบปฏิบัติการใด gap:qualifierคือความหนาแน่นที่ใช้โดยอุปกรณ์ Android อุปกรณ์ iOS ใช้width & height พารามิเตอร์

ไอคอน

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

ที่นี่เรากำลังใช้โฟลเดอร์ res/icon/ios และ res/icon/android/drawable-xxxx..

เพื่อให้งานนี้เสร็จเร็วคุณสามารถสร้างโลโก้ขนาด 1024x1024 และเข้าสู่ระบบ makeappicon.com เว็บไซต์นี้จะช่วยให้คุณสร้างโลโก้ทุกขนาดได้ทันทีสำหรับทั้งแพลตฟอร์ม Android และ iOS

หลังจากให้ภาพไอคอนขนาด 1024x1024 makeappicon.com ควรระบุสิ่งต่อไปนี้ -

Icons for iOS

Icons for Android

เว็บไซต์นี้มีตัวเลือกให้คุณส่งอีเมลโลโก้ทั้งหมดในรูปแบบ zip ไปที่หน้าประตูบ้านของคุณ (แน่นอนว่าเป็นอีเมล!)

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

แอปพลิเคชันสำหรับแอปประเภทนี้อาจรวมถึงแอปที่รวบรวมเรื่องราวบทแนะนำสั้น ๆ หรือเนื้อหาออฟไลน์อื่น ๆ ที่เป็นที่สนใจของผู้ใช้ซึ่งเขา / เธอสามารถอ่านแบบออฟไลน์ได้แม้ว่าจะไม่มีอินเทอร์เน็ต

แอปออฟไลน์

ภาพต่อไปนี้แสดงโครงสร้างโฟลเดอร์สำหรับแอปออฟไลน์ ที่ไดเร็กทอรี root ต้องการเพียงสองไฟล์คือ config.xml และ index.xml

config.xml มีการตั้งค่าการกำหนดค่าแอพที่เราได้เรียนรู้ในส่วนก่อนหน้านี้ ไฟล์ index.html มีหน้าแรกของเนื้อหาเว็บ

สิ่งสำคัญอย่างหนึ่งที่ต้องเรียนรู้ที่นี่คือลิงก์ทั้งหมดในไฟล์ html ทั้งหมดควรมีพา ธ สัมพัทธ์เท่านั้น นั่นคือไม่ควรมีพา ธ สัมบูรณ์หรือแท็ก href ฐาน

แอพออนไลน์

ภาพต่อไปนี้แสดงโครงสร้างโฟลเดอร์เพื่อให้แอปของเราอยู่ในโหมดออนไลน์ ในโหมดออนไลน์เนื้อหาเว็บทั้งหมดจะโหลดจากเว็บไซต์อินเทอร์เน็ต

คุณอาจสังเกตเห็นว่า dataไม่มีโฟลเดอร์ในแอปโหมดออนไลน์เนื่องจากไฟล์ทั้งหมดอยู่บนเซิร์ฟเวอร์จริงและสามารถเข้าถึงได้ทางอินเทอร์เน็ต ไฟล์ index.html มีลิงก์จริงตามที่มีอยู่ที่เว็บเซิร์ฟเวอร์และลิงก์ทั้งหมดเป็นแบบสัมบูรณ์หรือใช้กับไฟล์base href แท็ก

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

ลงนามแอปของคุณ

จำเป็นอย่างยิ่งที่แอปใด ๆ จะต้องลงนามโดยนักพัฒนาหรือองค์กรที่กำลังพัฒนาเพื่อให้สิ่งต่างๆเป็นระเบียบ ด้วยเหตุนี้คุณต้องลงนามแอปของคุณ คุณอาจต้องการkeytool ซึ่งเป็นส่วนหนึ่งของการแจกแจง Java มาตรฐาน

ดำเนินการคำสั่งต่อไปนี้ใน% JAVA_HOME% ในพรอมต์คำสั่งของ Windows หรือ Linux Shell -

keytool -genkey -v -keystore my_keystore.keystore 
   -alias TutorialsPoint -keyalg RSA -keysize 2048 -validity 10000

สิ่งนี้ควรสร้างไฟล์ my_keystore.keystore ซึ่งเราจะต้องใช้ในส่วนถัดไป

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

PhoneGap ยอมรับการเข้าสู่ระบบของผู้ใช้ที่สร้างบน GitHub หรือโดยใช้ AdobeID GitHub เป็นบริการที่เก็บข้อมูลที่ผู้ใช้สามารถอัปโหลดเนื้อหาและใช้งานได้โดยให้การอ้างอิง URL ตัวอย่างเช่นเนื้อหาที่เราเพิ่งสร้างขึ้นสามารถอัปโหลดไปยัง GitHub แล้วเรียกโดยตรงไปที่ PhoneGap

ขั้นตอนต่อไปนี้แสดงรายละเอียดเกี่ยวกับวิธีสร้าง Adobe ID

สร้าง Adobe ID

ไปที่www.build.phonegap.comและคลิกที่ Register

หน้าต่างใหม่จะเปิดขึ้นตามที่แสดงด้านล่าง -

กรอกรายละเอียดของคุณและคลิกที่สมัคร ตอนนี้คุณสามารถเข้าสู่ระบบด้วย ID ผู้ใช้เดียวกันกับ PhoneGap ตามค่าเริ่มต้นหน้านี้ควรนำไปสู่คอนโซล PhoneGap ดังที่แสดงด้านล่าง -

คลิก 'อัปโหลดไฟล์. zip' และอัปโหลดไฟล์. zip ที่เราสร้างขึ้นซึ่งมีเนื้อหาและการกำหนดค่าเว็บทั้งหมด คุณจะเห็นหน้าต่างต่อไปนี้หลังจากอัปโหลดสำเร็จ -

คุณอาจเห็นได้ทันทีว่าแอป iOS ล้มเหลวในการประมวลผลเนื่องจากเราไม่ได้ให้คีย์ที่ลงนามใด ๆ เรามุ่งเน้นไปที่ Android เท่านั้นและคุณจะเห็นได้ว่า PhoneGap สร้างขึ้น ไม่สามารถอัปโหลดแอปนี้ไปยัง Google Store ได้เนื่องจากไม่ได้ลงนามด้วยคีย์

คลิกที่ไอคอน Android และหน้าจอต่อไปนี้จะปรากฏขึ้น -

คลิกที่เมนูตัวเลือกแบบเลื่อนลงถัดจากไอคอน Android ที่อ่านว่าไม่มีคีย์ที่เลือกคลิกที่เพิ่มคีย์และหน้าจอต่อไปนี้จะปรากฏขึ้น -

ระบุชื่อและนามแฝงที่คุณเลือกและคลิกที่ไฟล์ Keystore ระบุไฟล์ที่เก็บคีย์ที่สร้างในส่วนสุดท้าย จากนั้นคลิกที่ปุ่ม 'สร้างใหม่' ที่อยู่ข้างๆ

แอปที่สร้างโดยกระบวนการนี้สามารถอัปโหลดไปยัง Google Play ได้โดยตรง คลิกที่ไฟล์. apk และคุณสามารถดาวน์โหลดแอปฟรีบนเว็บตัวแรกของคุณ

ก่อนอัปโหลดควรทดสอบแอปบนอุปกรณ์เสมือนหรือจริง