การเขียนโปรแกรมแบบมินิแอป

ในบทนี้ ฉันอยากดูบทเรียนที่ได้เรียนรู้จากการค้นคว้าข้อมูลขนาดเล็กจาก มุมมองของนักพัฒนาเว็บ หรือตอบคำถามว่าการพัฒนามินิแอปหมายความว่าอย่างไร

คอมโพเนนต์

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

โมเดลมุมมองโมเดล

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

การคิดรอบด้าน

การแก้ไขข้อบกพร่องของมินิแอปแสดงว่าโดยพื้นฐานแล้วเป็นแอปพลิเคชันแบบหลายหน้า (MPA) ซึ่งมีข้อดีหลายอย่าง เช่น ช่วยกำหนดเส้นทางที่ไม่ยุ่งยากและการจัดรูปแบบแต่ละหน้าโดยปราศจากความขัดแย้ง ผู้คนใช้สถาปัตยกรรม MPA สำเร็จกับ Progressive Web App การคิดในหน้ายังช่วยจัดการทรัพยากรต่างๆ เช่น ไฟล์ CSS และ JavaScript ของแต่ละหน้า รวมถึงเนื้อหาอื่นๆ เช่น รูปภาพและวิดีโอด้วย สิ่งสำคัญที่สุดคือ การสร้างด้วยวิธีนี้ทำให้คุณจะได้รับการแยกโค้ดตามเส้นทางได้ฟรีหากคุณไม่ได้โหลดอย่างอื่น ในกรณีดังกล่าว แต่ละหน้าเว็บตามคำจำกัดความจะโหลดเฉพาะสิ่งที่จำเป็นต้องใช้ในการทำงานเท่านั้น

กระบวนการบิลด์

มินิแอปไม่มีกระบวนการบิลด์ที่มองเห็นได้ สำหรับบนเว็บ เครื่องมือสร้างที่ทันสมัย เช่น Snowpack ใช้ประโยชน์จากระบบโมดูลในตัวของ JavaScript (หรือที่เรียกว่า ESM) เพื่อหลีกเลี่ยงงานที่ไม่จำเป็นและดำเนินงานได้อย่างรวดเร็วไม่ว่าโปรเจ็กต์จะเติบโตขนาดใดก็ตาม แม้ว่าเทคโนโลยีอย่าง Web Bundle จะยังอยู่ในช่วงเริ่มต้น แต่เทคโนโลยีนี้เพิ่มลงในกระบวนการสร้างได้อย่างง่ายดาย

ความสามารถอันทรงพลัง

แพลตฟอร์มเว็บได้รับความสามารถใหม่ๆ มากมายเมื่อเร็วๆ นี้ ตอนนี้คุณเข้าถึงอุปกรณ์ผ่านบลูทูธ, USB, HID, serial และ NFC ได้แล้ว ขณะที่แอปขนาดจิ๋วทำงานใน WebView และอาศัยบริดจ์ JavaScript ความสามารถอันทรงประสิทธิภาพบนเว็บ ความสามารถที่มีประสิทธิภาพเหล่านี้จะพร้อมใช้งานโดยตรง ดังนั้นคุณจึงไม่ต้องโปรแกรมกับ API ที่บริดจ์ JavaScript มีให้ แต่ทำงานกับ API ของเบราว์เซอร์โดยไม่มีตัวดำเนินการระดับกลาง

ข้อความแสดงการยอมรับ

บทความนี้ได้รับการตรวจสอบโดย Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent และ Keith Gu