feature-image-what-is-crosswalk-webview
feature-image-what-is-crosswalk-webview

เคยไม๊ ที่เวลาทําแอพด้วย Web Application สําหรับมือถือต่างๆ แล้วมีปัญหากับ WebView หึหึ

เช่น เราทําแอพเทพๆๆด้วย JavaScript สุดหรู แต่พอมารันบนมือถือแล้วกลับพังเละเทะไม่เป็นท่าเลย นั่นเป็นเพราะ WebView แต่ละ version ไม่เท่ากัน บางตัวใหม่ บางตัวเก่า แล้วพอมา Live จริงๆมันควบคุมยากมาก ทําให้ Engine ที่ออกมาได้ไม่เหมือนกัน

ยกตัวอย่างในกรณีของ Android

ใน Android 7.0 Nougat เนี่ยมันจะเป็น Chrome + Webview เข้าด้วยกัน เป็น Chrome Version 51 ในการ render ต่างๆเพื่อปรับปรุงการใช้ memory

แต่ถ้าเป็น Android 5.0 เนี่ยมันจะใช้ Chromium M37 ซึ่งจะแตกต่างกันสุดๆๆเรียกได้ว่าคนละขั้วโลก เหนือ-ใต้เลย ผลที่ออกมาคือ พัง น่ะสิครับ!

นั่นเป็นเห็ตผลว่า WebView เนี่ยมันขึ้นกับ version ของ engine ที่ทํางานให้เลย เพราะฉะนั้นบางทีที่ใช้งานอาจจะเกิดปัญหาขึ้นมาได้ นั่นเป็นเลยเหตุผลของการสร้าง crosswalk ขึ้นมา

ถ้าไม่มี Crosswalk เราต้องมากลุ่มกับปัญหาเหล่านี้

  • JavaScript API ที่เราใช้งาน มันมีให้ใช้บน Fragment ตัวนี้หรือไม่
  • CSS ที่เราใช้ Support พอไม๊? เช่น CSS3
  • แล้ว Interface จะเรนเดอร์ถูกรึเปล่า?

มันจะดีกว่ามากๆเลย ถ้าเรามี WebView ตัวเดียวกัน ด้วย Google Chromium (ที่ Google Chrome ใช้) เพราะมันจะทําให้ Behavior เหมือนกัน

เพราะฉะนั้นคนส่วนใหญ่เลยเอา Crosswalk เข้ามาผูกกับ Cordova หรือ Hybrid Android App นั่นเอง

สรุป

การทําแอพขึ้นมาตัวนึง มีอะไรให้คิดมากกว่าแค่ทําให้สวยเยอะ เพราะมันมีความหลากหลายมาก เพราะฉะนั้นถ้าทํา Web App / Hybrid App จะช่วยลดปัญหาได้เยอะมากเลย

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.