เครื่องมือสำหรับนักพัฒนาเว็บขนาดเล็ก

ประสบการณ์การใช้งานสำหรับนักพัฒนาแอป

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

IDE ของแอปมินิ

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

โปรเจ็กต์เริ่มต้นสำหรับมินิแอป

ผู้ให้บริการแอปอัจฉริยะทุกรายมีแอปสาธิตที่ดาวน์โหลดและทดสอบได้ทันทีเพื่อช่วยให้คุณเริ่มต้นการพัฒนามินิแอปได้อย่างรวดเร็ว และบางครั้งแอปสาธิตเหล่านี้ยังผสานรวมอยู่ในวิซาร์ด "โปรเจ็กต์ใหม่" ของ IDE ต่างๆ ด้วย

ขั้นตอนการพัฒนา

หลังจากเปิด IDE และโหลดหรือสร้างมินิแอป (เดโม) แล้ว ขั้นตอนแรกคือการเข้าสู่ระบบเสมอ โดยปกติแล้ว คุณเพียงแค่ต้องสแกนคิวอาร์โค้ดด้วย Super App (ที่คุณเข้าสู่ระบบไว้แล้ว) ที่ IDE สร้างขึ้น คุณแทบจะต้องป้อนรหัสผ่านน้อยมาก เมื่อเข้าสู่ระบบแล้ว IDE จะจดจำตัวตนของคุณและให้คุณเริ่มเขียนโปรแกรม แก้ไขข้อบกพร่อง ทดสอบ และส่งแอปเข้ารับการตรวจสอบ ต่อไปนี้คือภาพหน้าจอของ IDE 5 รายการที่กล่าวถึงในย่อหน้าด้านบน

หน้าต่างแอปพลิเคชันเครื่องมือสำหรับนักพัฒนาเว็บของ WeChat ที่แสดงเครื่องจำลอง ตัวแก้ไขโค้ด และโปรแกรมแก้ไขข้อบกพร่อง
เครื่องมือสำหรับนักพัฒนาเว็บของ WeChat ที่มีเครื่องจำลอง เครื่องมือแก้ไขโค้ด และโปรแกรมแก้ไขข้อบกพร่อง
หน้าต่างแอปพลิเคชันเครื่องมือสำหรับนักพัฒนาเว็บของ Alipay ที่แสดงเครื่องมือแก้ไขโค้ด เครื่องจำลอง และโปรแกรมแก้ไขข้อบกพร่อง
เครื่องมือสําหรับนักพัฒนาเว็บของ Alipay ที่มีเครื่องมือแก้ไขโค้ด เครื่องจําลอง และโปรแกรมแก้ไขข้อบกพร่อง
หน้าต่างแอปพลิเคชัน Baidu DevTools ที่แสดงเครื่องจำลอง ตัวแก้ไขโค้ด และโปรแกรมแก้ไขข้อบกพร่อง
เครื่องมือสำหรับนักพัฒนาเว็บของ Baidu ที่มีเครื่องจำลอง ตัวแก้ไขโค้ด และโปรแกรมแก้ไขข้อบกพร่อง
หน้าต่างแอปพลิเคชันเครื่องมือสำหรับนักพัฒนาเว็บของ ByteDance ที่แสดงเครื่องจำลอง ตัวแก้ไขโค้ด และโปรแกรมแก้ไขข้อบกพร่อง
เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของ ByteDance ที่มีเครื่องจำลอง ตัวแก้ไขโค้ด และโปรแกรมแก้ไขข้อบกพร่อง
หน้าต่างแอปพลิเคชันเครื่องมือสำหรับนักพัฒนาเว็บแบบด่วนที่แสดงเครื่องมือแก้ไขโค้ด เครื่องจำลอง และโปรแกรมแก้ไขข้อบกพร่อง
เครื่องมือสําหรับนักพัฒนาแอปแบบด่วนที่มีเครื่องมือแก้ไขโค้ด เครื่องจําลอง และโปรแกรมแก้ไขข้อบกพร่อง

ดังที่คุณเห็น องค์ประกอบพื้นฐานของ IDE ทั้งหมดนั้นคล้ายกันมาก คุณจะมีเครื่องมือแก้ไขโค้ดที่ใช้ Monaco Editor อยู่เสมอ ซึ่งเป็นโปรเจ็กต์เดียวกับที่ขับเคลื่อน VS Code ด้วย IDE ทั้งหมดจะมีโปรแกรมแก้ไขข้อบกพร่องที่อิงตามส่วนหน้าของเครื่องมือสำหรับนักพัฒนาเว็บ Chrome ที่มีการแก้ไขบางอย่าง ซึ่งเราจะอธิบายเพิ่มเติมในภายหลัง (ดูโปรแกรมแก้ไขข้อบกพร่อง) IDE ในตัวจะติดตั้งใช้งานเป็นแอป NW.js หรือ Electron ส่วนเครื่องจำลองใน IDE จะแสดงเป็นแท็ก <webview> ของ NW.js หรือแท็ก <webview> ของ Electron ซึ่งอิงตามแท็ก <webview> ของ Chromium หากสนใจส่วนภายในของ IDE คุณสามารถตรวจสอบได้ด้วยเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของ Chrome โดยใช้แป้นพิมพ์ลัด Control+Alt+I (หรือ Command+Option+I ใน Mac)

เครื่องมือสําหรับนักพัฒนาเว็บใน Chrome ที่ใช้ตรวจสอบเครื่องมือสําหรับนักพัฒนาเว็บของ Baidu ซึ่งแสดงแท็ก WebView ของโปรแกรมจําลองในแผงองค์ประกอบของเครื่องมือสําหรับนักพัฒนาเว็บใน Chrome
การตรวจสอบเครื่องมือสําหรับนักพัฒนาเว็บของ Baidu ด้วยเครื่องมือสําหรับนักพัฒนาเว็บใน Chrome พบว่าเครื่องจําลองแสดงเป็นแท็ก Electron <webview>

การทดสอบและการแก้ไขข้อบกพร่องในเครื่องจำลองและอุปกรณ์จริง

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

แม้ว่าเครื่องจำลองในตัวจะเพียงพอที่จะดูภาพรวมของลักษณะการทํางานของแอป แต่การทดสอบในอุปกรณ์ก็เป็นสิ่งที่ขาดไม่ได้เช่นเดียวกับเว็บแอปทั่วไป การทดสอบมินิแอปที่กำลังพัฒนาอยู่นั้นทำได้ง่ายๆ เพียงสแกนคิวอาร์โค้ด ตัวอย่างเช่น ใน ByteDance DevTools การสแกนคิวอาร์โค้ดที่ IDE สร้างขึ้นแบบไดนามิกด้วยอุปกรณ์จริงจะนำไปสู่มินิแอปเวอร์ชันที่โฮสต์บนระบบคลาวด์ ซึ่งสามารถทดสอบในอุปกรณ์ได้ทันที วิธีการทํางานของ ByteDance คือ URL หลังคิวอาร์โค้ด (ตัวอย่าง) จะเปลี่ยนเส้นทางไปยังหน้าเว็บที่โฮสต์ (ตัวอย่าง) ซึ่งมีลิงก์ที่มีรูปแบบ URI พิเศษ เช่น snssdk1128:// เพื่อแสดงตัวอย่างมินิแอปบนแอป Super App ต่างๆ ของ ByteDance เช่น Douyin หรือ Toutiao (ดูตัวอย่าง) ผู้ให้บริการแอปอัจฉริยะรายอื่นๆ จะไม่ผ่านหน้ากลาง แต่เปิดตัวอย่างโดยตรง

ByteDance DevTools ที่แสดงคิวอาร์โค้ดที่ผู้ใช้สแกนด้วยแอป Douyin เพื่อดูมินิแอปปัจจุบันในอุปกรณ์ได้
ByteDance DevTools แสดงคิวอาร์โค้ดที่ผู้ใช้สแกนด้วยแอป Douyin เพื่อทดสอบในอุปกรณ์ได้ทันที
หน้า Landing Page ระดับกลางสำหรับแสดงตัวอย่างมินิแอปของ ByteDance ในแอป Super App ต่างๆ ของบริษัท ซึ่งเปิดในเบราว์เซอร์เดสก์ท็อปปกติเพื่อวิศวกรรมย้อนกลับกระบวนการ
หน้า Landing Page ระดับกลางของ ByteDance สำหรับแสดงตัวอย่างมินิแอป (เปิดในเบราว์เซอร์บนเดสก์ท็อปเพื่อแสดงขั้นตอน)

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

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

Debugger

การแก้ไขข้อบกพร่องขององค์ประกอบ

ประสบการณ์การแก้ไขข้อบกพร่องของแอปขนาดเล็กจะคุ้นเคยมากสำหรับผู้ที่เคยใช้ Chrome DevTools แต่ก็มีความแตกต่างที่สำคัญบางอย่างที่ทำให้เวิร์กโฟลว์นี้เหมาะกับมินิแอป IDE ของแอปขนาดเล็กจะมีแผงที่กำหนดเองซึ่งปรับให้เหมาะกับรูปแบบ HTML เฉพาะแทนแผงองค์ประกอบของเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของ Chrome เช่น ในกรณีของ WeChat แผงจะเรียกว่า Wxml ซึ่งย่อมาจาก WeiXin Markup Language ในเครื่องมือสำหรับนักพัฒนาเว็บของ Baidu เรียกว่าองค์ประกอบ Swan เครื่องมือสำหรับนักพัฒนาเว็บของ ByteDance เรียกไฟล์นี้ว่า Bxml Alipay ตั้งชื่อเป็น AXML ส่วน Quick App เรียกแผงนี้ว่า UX เราจะเจาะลึกภาษามาร์กอัปเหล่านี้ในภายหลัง

การตรวจสอบรูปภาพด้วยแผง &quot;Wxml&quot; ของเครื่องมือสำหรับนักพัฒนาเว็บ WeChat แสดงว่าแท็กที่ใช้คือแท็ก `image`
การตรวจสอบองค์ประกอบ <image> ด้วยเครื่องมือสำหรับนักพัฒนาเว็บของ WeChat

องค์ประกอบที่กำหนดเองในเบื้องหลัง

การตรวจสอบ WebView ในอุปกรณ์จริงผ่าน about://inspect/#devices พบว่าเครื่องมือสำหรับนักพัฒนาเว็บของ WeChat จงใจปกปิดความจริง ตรงที่ WeChat DevTools แสดง <image> สิ่งที่เราเห็นจริงๆ คือองค์ประกอบที่กำหนดเองชื่อ <wx-image> ที่มี <div> เป็นองค์ประกอบย่อยเพียงรายการเดียว สิ่งที่น่าสนใจคือองค์ประกอบที่กําหนดเองนี้ไม่ได้ใช้ Shadow DOM ดูข้อมูลเพิ่มเติมเกี่ยวกับคอมโพเนนต์เหล่านี้ได้ในภายหลัง

การตรวจสอบมินิแอป WeChat ที่ทำงานบนอุปกรณ์จริงด้วยเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของ Chrome เมื่อเครื่องมือสำหรับนักพัฒนาเว็บของ WeChat รายงานว่าฉันกําลังดูแท็ก `image` อยู่ เครื่องมือสำหรับนักพัฒนาเว็บของ Chrome กลับแสดงให้เห็นว่าฉันกําลังจัดการกับองค์ประกอบที่กําหนดเอง `wx-image`
การตรวจสอบองค์ประกอบ <image> ด้วยเครื่องมือสำหรับนักพัฒนาเว็บของ WeChat พบว่าองค์ประกอบดังกล่าวเป็นองค์ประกอบที่กำหนดเอง <wx-image>

การแก้ไขข้อบกพร่อง CSS

อีกความแตกต่างหนึ่งคือหน่วยความยาว rpx ใหม่สําหรับพิกเซลที่ปรับเปลี่ยนตามพื้นที่ใน CSS เวอร์ชันต่างๆ (ดูข้อมูลเพิ่มเติมเกี่ยวกับหน่วยนี้ในภายหลัง) WeChat DevTools ใช้หน่วยความยาว CSS ที่ไม่ขึ้นอยู่กับอุปกรณ์เพื่อทำให้การพัฒนาสำหรับอุปกรณ์ขนาดต่างๆ ใช้งานง่ายขึ้น

การตรวจสอบมุมมองที่มีระยะห่างจากขอบด้านบนและด้านล่างที่ระบุไว้ 200rpx ในเครื่องมือสำหรับนักพัฒนาเว็บของ WeChat
การตรวจสอบระยะห่างจากขอบที่ระบุในพิกเซลที่ตอบสนอง (200rpx 0) ของมุมมองด้วยเครื่องมือสำหรับนักพัฒนาเว็บของ WeChat

การตรวจสอบประสิทธิภาพ

ประสิทธิภาพเป็นสิ่งสำคัญอันดับต้นๆ สําหรับมินิแอป จึงไม่น่าแปลกใจที่ WeChat DevTools และเครื่องมือสําหรับนักพัฒนาเว็บอื่นๆ บางรายการจะมีเครื่องมือตรวจสอบที่พัฒนาโดยอิงตาม Lighthouse ขอบเขตการตรวจสอบประกอบด้วยภาพรวม ประสิทธิภาพ ประสบการณ์ และแนวทางปฏิบัติแนะนำ คุณปรับแต่งมุมมองของ IDE ได้ ในภาพหน้าจอด้านล่าง เราได้ซ่อนเครื่องมือแก้ไขโค้ดไว้ชั่วคราวเพื่อให้มีพื้นที่บนหน้าจอมากขึ้นสําหรับเครื่องมือตรวจสอบ

เรียกใช้การตรวจสอบประสิทธิภาพด้วยเครื่องมือตรวจสอบในตัว คะแนนจะแสดงคะแนนเต็ม 100 คะแนนสำหรับ &quot;ทั้งหมด&quot; &quot;ประสิทธิภาพ&quot; &quot;ประสบการณ์&quot; และ &quot;แนวทางปฏิบัติแนะนำ&quot;
เครื่องมือตรวจสอบในตัวของ WeChat DevTools ที่แสดงข้อมูลทั้งหมด ประสิทธิภาพ ประสบการณ์ และแนวทางปฏิบัติแนะนำ

การจำลอง API

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

การตั้งค่าการตอบกลับจำลองสำหรับปลายทาง API ในเครื่องมือสำหรับนักพัฒนาเว็บของ WeChat
ฟีเจอร์การจำลองการตอบกลับ API ที่ผสานรวมของ WeChat DevTools

ขอขอบคุณ

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