เลย์ออฟแผ่นดิน

Peter Conn
Peter Conn

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

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

  • Bubblewrap: เครื่องมือ NodeJS ที่ช่วยให้นักพัฒนาซอฟต์แวร์สร้างและสร้าง Android APK ที่ รวม PWA ที่มีอยู่ แอปพลิเคชันที่สร้างขึ้นนี้ขับเคลื่อนโดยกิจกรรมบนเว็บที่เชื่อถือได้ แต่มีความโปร่งใสต่อ ไม่จำเป็นต้องมีประสบการณ์ในการพัฒนาแอป Android โปรดดูเอกสารประกอบเกี่ยวกับ Bubblewrap เพื่อเริ่มต้นใช้งาน
  • android-browser-helper: ไลบรารี Android ที่สรุปกิจกรรมบนเว็บที่เชื่อถือได้ แนะนำสำหรับนักพัฒนาแอปที่คุ้นเคยกับการพัฒนาแอป Android และต้องการใช้เว็บที่เชื่อถือได้ กิจกรรมเป็นหนึ่งในกิจกรรมในแอป Android ของตน หรือทำการปรับแต่งที่ไม่ใช่ สนับสนุนโดย Bubblewrap หากต้องการเริ่มต้นใช้งาน android-browser-helper โปรดดูเอกสารประกอบและการสาธิตของเรา

ส่วนถัดไปจะแสดงสรุปคร่าวๆ ของโครงการทั้งหมดที่เกี่ยวข้องกัน สุดท้าย (สำหรับใครที่สงสัยจริงๆ) มีส่วนประวัติศาสตร์ที่จะแสดงให้เห็นว่าเรามาถึงจุดนี้ได้อย่างไรและที่ไหน เรามีแผนที่จะไปในอนาคตอันใกล้

ภาพรวมของไลบรารี

ต่อไปนี้เป็นสรุปสั้นๆ เพียงประโยคเดียวสำหรับไลบรารีแต่ละรายการที่คุณอาจได้ใช้

  • androidx.browser ซึ่งเป็นไลบรารี Android สำหรับการโต้ตอบกับเบราว์เซอร์ที่ติดตั้งในเบราว์เซอร์ อุปกรณ์
  • โปรแกรมช่วยเหลือเบราว์เซอร์ Android ซึ่งเป็นไลบรารีที่สร้างขึ้นบน androidx.browser สำหรับกิจกรรมบนเว็บที่เชื่อถือได้ ลูกค้าให้วิธีการอำนวยความสะดวกและค่าเริ่มต้นที่เหมาะสม
  • Bubblewrap เป็นเครื่องมือที่ใช้สร้างกิจกรรมบนเว็บที่เชื่อถือได้จาก PWA โดยไม่ต้องดำเนินการใดๆ กับ Java โค้ด

นอกจากนี้ ไลบรารี/เครื่องมือเหล่านี้แต่ละรายการจะแทนที่ไลบรารี/เครื่องมือที่เก่ากว่า

ประวัติ

ไลบรารีการสนับสนุนของ Android

ไลบรารีการสนับสนุนของ Android ช่วยขยายแพลตฟอร์ม Android ด้วย API ใหม่และความเข้ากันได้ ใหม่ๆ โดยจะแบ่งออกเป็นหลายแพ็กเกจ โดยมีไลบรารีการสนับสนุนแท็บที่กำหนดเองที่ประกอบด้วย สำหรับการโต้ตอบกับเบราว์เซอร์ในระบบของผู้ใช้ การพัฒนาไลบรารีการสนับสนุนแท็บที่กำหนดเองทำใน custom-tabs-client เป็นหลัก ที่เก็บ GitHub โดยการเปลี่ยนแปลงจะอัปสตรีมกลับไปยัง Android Support Library

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

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

AndroidX

Android Support Library มีการรีแบรนด์ในภายหลังเป็น AndroidX ซึ่งเป็นส่วนหนึ่งของ ความพยายามครั้งใหญ่ในการปรับปรุงประสบการณ์ของนักพัฒนาแอปที่ชื่อ JetPack ดังนั้น แท็บที่กำหนดเองและกิจกรรมบนเว็บที่เชื่อถือได้จะต้องย้ายจาก ไลบรารีการสนับสนุนแท็บที่กำหนดเอง ไปยัง androidx.browser ใหม่

โค้ดบางส่วนที่เราเขียนใน custom-tabs-client เหมาะสมสำหรับไลบรารีของ Trusted ชั้นเรียนตัวช่วยกิจกรรมบนเว็บ แต่ไม่ใช่สำหรับ Android API โค้ดที่บอกเกี่ยวกับการตรวจสอบ Chrome เวอร์ชันเก่าและการแจ้งให้ผู้ใช้อัปเดต ข้อมูลประกอบการตัดสินใจเรื่องวิธีจัดเก็บข้อมูลที่จะย้ายมายัง AndroidX ไม่ได้ เราจึงได้สร้างไลบรารีทางเลือกเพื่อให้มีส่วนเหล่านี้ของ custom-tabs-client ไม่สามารถเข้าถึง androidx.browser ได้ และตัวช่วยเหลือเบราว์เซอร์ Android จึงเกิดขึ้น

โปรแกรมช่วยเหลือเบราว์เซอร์ Android สร้างขึ้นเพื่อให้มีโค้ดสำหรับเบราว์เซอร์โดยเฉพาะ (ไม่ใช่ แค่ Chrome เราเปิดรับโค้ดสำหรับเบราว์เซอร์อื่นๆ โดยเฉพาะ) และสามารถทำการตัดสินใจอย่างเป็นรูปธรรม ที่ห้องสมุดไม่ควร เราจึงใช้โอกาสนี้ในการแยกบทบาทของไลบรารี 2 รายการต่อไปนี้

  • androidx.browser มีองค์ประกอบพื้นฐานสำหรับการโต้ตอบกับเบราว์เซอร์ใน ระบบของผู้ใช้
  • ตัวช่วยเหลือเบราว์เซอร์ Android มีความสะดวกสบายในการใช้และการใช้งานเริ่มต้นที่เหมาะสม

การเตรียมความพร้อม

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

โปรเจ็กต์แรก (และเก่าที่สุด) คือ svgomg-twa ซึ่งเป็นโปรเจ็กต์ Android ที่โฮสต์บน GitHub ซึ่งเปิดตัว กิจกรรมในเว็บที่เชื่อถือได้ เดิมทีได้รับการออกแบบให้เป็นโปรเจ็กต์สาธิต ซึ่งพัฒนาไปเป็นเทมเพลตมากขึ้น ผู้ใช้จะโคลนที่เก็บและแก้ไขไฟล์ build.gradle ให้ชี้ไปยังเว็บไซต์ของตนเองได้ สร้างและสร้างกิจกรรมบนเว็บและเว็บที่เชื่อถือได้โดยไม่ต้องสัมผัสโค้ดของ Java (การขอลิงก์เนื้อหาดิจิทัลเพื่อรับการยืนยันต้องใช้ความพยายามมากขึ้น โปรดอ่านข้อมูลเพิ่มเติมที่นี่)

svgomg-twa เริ่มให้บริการตามแท็บที่กำหนดเอง แต่ต่อมาได้ย้ายไปยัง Android ตัวช่วยเหลือเบราว์เซอร์ (และ androidx.browser)

เครื่องมือใหม่ล่าสุดที่สวยที่สุดคือ Bubblewrap ซึ่งเป็นเครื่องมือ Node.js ที่จะเอาเว็บแอปของคุณ ไฟล์ Manifest และสร้างกิจกรรมบนเว็บและเว็บไซต์ที่เชื่อถือได้สำหรับคุณ วิธีนี้เป็นวิธีที่ง่ายที่สุดในการสร้างกิจกรรมบนเว็บที่เชื่อถือได้จาก PWA ที่มีอยู่และ ความรู้เกี่ยวกับการพัฒนา Android

ใกล้อนาคต

เราจะเลิกใช้งาน svgomg-twa ด้วยเหตุผล 2 ประการ ดังนี้

  • โดยพื้นฐานแล้ว Bubblewrap จะสร้าง svgomg-twa ที่กรอกข้อมูลไว้ให้กับนักพัฒนาซอฟต์แวร์ ซึ่งจะทำงานแบบอินเทอร์แอกทีฟ และนำการกำหนดค่าจากไฟล์ Manifest ของเว็บแอป (ซึ่ง PWA น่าจะมีอยู่แล้ว)
  • หากนักพัฒนาแอปต้องการข้อมูลอ้างอิงเกี่ยวกับวิธีเริ่มโปรเจ็กต์กิจกรรมบนเว็บที่เชื่อถือได้ของตนเองจาก ก็ดูไดเรกทอรีการสาธิตเบราว์เซอร์ Android ได้

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

เราวางแผนที่จะทำให้ Bubblewrap มีความสามารถมากที่สุด ดังนั้นหากไม่มีฟีเจอร์ที่ชัดเจนหรือ คุณพบข้อบกพร่อง โปรดแจ้งปัญหาได้ทุกเมื่อ