ถ้ายังจำกันได้ Mark Zuckerberg ในตอนแรกนั้นเชื่อมั่นใน HTML5 จนหยิบมาทำแอพเพื่อใช้ในทุกแพลตฟอร์ม แต่ท้ายที่สุดก็ยอมรับว่ามีปัญหาเรื่องประสิทธิภาพ และเปลี่ยนไปทำแอพด้วย native แทน
จากเหตุการณ์ดังกล่าว Sencha ผู้ให้บริการเครื่องมือ และเฟรมเวิร์คสำหรับพัฒนา HTML5 เห็นต่างว่า HTML5 น่าจะทำได้ดีกว่านั้น จึงทำการทดลองเขียนแอพ Facebook ด้วย HTML5 ในชื่อ Fastbook แล้วจับมาเทียบกับกับแอพ Facebook ที่เขียนด้วย native ทั้งบน iOS และ Android
ผลปรากฏว่าแอพที่ Sencha เขียนขึ้นมานั้นประสิทธิภาพพอๆ กับแอพ native แถมยังโหลดข้อมูลได้มากกว่า และใช้งานแอพได้หลายรูปแบบกว่า (เช่นแนวนอน) ตรงจุดนี้ Sencha บอกว่าการที่แอพของ Facebook นั้นประสิทธิภาพไม่ดีน่าจะมาจากการเลือกเครื่องมือในการพัฒนาไม่ถูกต้องมากกว่า
ใครที่สนใจอยากทดลอง สามารถเข้าไปลองได้ที่ Fastbook ครับ วิดีโอเปรียบเทียบอยู่ท้ายข่าว ส่วนคนที่อยากรู้เบื้องหลังการทำแอพตัวนี้ดูได้จาก Sencha ครับ
ที่มา - Develop In The Cloud
Comments
webview ใน ios ไม่มี nitro engine ครับ ถ้าจะเทียบต้องเทียบ webview ใน app กับ native app
ไม่ใช่เอา safari ไปเทียบกับ native app
code ชุดเดียวกัน run ใน webview กับ safari นี่ performance ต่างกันอื้อซ่า ซึ่งประเด็นนี้เป็นไปไม่ได้ที่ทีม sencha จะไม่รู้ แต่กลับเอามาเทียบกันแบบนี้ผมว่าดูไม่ดีเลย (office ผมก็ใช้ ext มานานแล้วนะ ไม่ได้ anti)
+1 ... tl;dr ถ้าทำใน phonegap รับประกันว่าไม่ลื่นขนาดนี้
JavaScript มีส่วนแน่นอน แต่ลองเล่นผ่าน Chrome บน iOS ดูครับ ไวกว่า Facebook Native อยู่ดี
เขาเน้นการบริหารจัดการ DOM ครับ เนื่องจาก App ใหญ่ๆ แบบนี้ DOM จะใหญ่มาก เขาทำการแยกออกมาเป็น iframe ย่อย แต่ก็จะส่งผลให้มีปัญหาเรื่องการใช้ JavaScript ข้าม iframe เขาก็แก้ปัญหาด้วยการใช้ Framework ครอบอีกชั้นนึง และยังใช้ Proxy กรองข้อมูล Feed ที่ไม่จำเป็นออกครับ (Facebook Native iOS ยังใช้ HTML มากอยู่) ส่งผลให้ขนาดของข้อมูลลดลงเหลือเพียง 10% นอกจากนี้ยังมี Queue Framework ไว้บริหารจัดการลำดับขั้นตอนต่างๆ ของ App ให้ "รู้สึก" เร็วและตอบสนองดีขึ้น รวมไปถึงแอนิเมชั่นด้วยครับ
น่าสนใจ แต่เป็นเพราะเครื่องมันเร็วหรือเปล่า ถ้าไปใช้บน android รุ่นเล็กน่าจะแย่
นามสกุล งูเย็น อีกละ
ข่าวต่อไป Facebook ซื้อ Sencha -*-
อูยยย...
Galaxy Nexus ทั้ง 2 เครื่องเวลาไม่เท่ากัน
ปล. แค่สังเกตไปเจอ ไม่เกี่ยวอะไรกับข่าวเลย
อัยย่ะ กำลังทำโปรเจคที่ใช้ sencha อยู่ มีแรงฮึกเหิมเลย 555
มันน่าจะเป็นเรื่องการ โหลด มาแสดงผลนะครับ อาจจะมี ระบบ security ที่่ซ้อน อยู่ เลยทำให้มันทำงานช้า
ซอฟแวร์ส่วนใหญ่ ทำงานช้ากว่าที่ตั้งใจไว้ ก็เพราะระบบ รักษาความปลอดภัย
ผมก็คิดแบบนี้เหมือนกัน HTML5 กับ JS ใน iOS ก็ลื่นนะ คนที่บ่นว่าช้า ไม่ใช่ช้าแบบกระตุกแบบในเกม แต่มีปัญหาเรื่งการโหลดข้อมูลมาแสดงผลมากกว่า
ถ้าลองทำ App Facebook แล้วใส่ข้อมูลสำเร็จรูปมาเลย ก็พอๆกันเลยละ
ลองใช้แล้ว ก็ยังว่าช้ากว่า native อยู่แบบรู้สึกได้อยู่ดีครับ โดยเฉพาะตอนโหลดข้อมูล
เจ๋งดีนะเนี่ย
Dream high, work hard.
ไม่เชื่อ Sencha ครับ
ยิ่งบนandroid นะ เหอๆๆๆ
Native app ของ IOS กับ Andriod ต่างกันฟ้ากับเหวเลย
native app บน android ยังไม่ลื่นไหลเท่าไรเลยครับ m.facebook.com ยังเร็วกว่าอยู่ดี แถมสมูทกว่า...
ผมว่า HTML5 มันให้ แบรน์วิธ สูงกว่าแบบ Native ทำให้การใช้งานพร้อมๆ กันเป็นพันๆ ล้านคน ทำให้การส่งข้อมูลมันช้าลงด้วย ไม่เหมือน native ที่มีการประมวลผลแสดง UI ได้ด้วยใช้ CPU ของเครื่องทำ และแค่นำ data มาแสดง
ที่เป็นแอพ เขาไม่ทำโครงร่างไว้ที่ แอพ หรอ แล้วโหลดข้อมูล เป็น xml json ไรก็ว่าไป หรอ #ไม่เคยเขียน
ไปทำการบ้านมาดีๆ ก่อนครับ HTML5 ก็ทำ UI บนเครื่องครับ คนเขียน phonegap ทุกคนรู้ดี ดึงแต่ json อย่างเดียวครับ
มันไม่ง่ายเลยที่จะทำ GIF ให้มีขนาดน้อยกว่า 20kB
แต่ Fastbook ใช้งานผ่าน browser เป็นเว็บเซอร์วิสนะครับ
ผมว่ามันไม่เกี่ยวกับเรื่องแบนด์วิธเท่าไหร่หรอกครับ เพราะว่าทั้งสองตัวมันก็ดึงข้อมูลมาแสดงที่เครื่องเราเองอยู่ดี
HTML5 มันโหลดมากกว่าก็แค่ตอนเปิดครั้งแรกเท่านั้นแหละครับ คือโหลด UI นิดๆ หน่อยๆ แล้วที่เหลือก็แสดงผลเองอยู่ดี ยิ่งถ้าเก็บไฟล์ที่มี UI เขียนด้วย HTML5 แล้วยิ่งไม่เกี่ยวกับแบนด์วิธเลยครับ...
Dream high, work hard.
เอามาเล่นเป็น mini facebook บนคอมก็สนุกดีนะ
บน android ผมว่ายังไง native ก็ดีกว่า
น่าจะทำให้เสร็จนะ เพราะเจ้านี้ทำให้เล่น Facebook จากจีนได้
เสียดายที่ฟังก์ชั่นไม่ครบ กลับไป VPN ดังเดิม 555
ผมก็อยากขอร้องเค้าให้ทำให้เสร็จ เพราะผมก็อยู่จีน เมื่อกี้ลองเล่นดูเข้าได้ด้วย แต่ถึงผมขอร้องนักพัฒนาติดต่อทางเมลขอให้ทำให้เสร็จ เค้าคงไม่ว่างมานั่งทำให้หรอก
เร็วจริงอะไรจริงครับ ลื่นกว่า smooth กว่า native บน android จริงๆ
ผมใช้ Nexus7 ไม่เห็นต่าง! เพราะใช้Wifiโหลดด้วยกันทั้งคู่5555
เรื่องความลื่น เรื่องประสิทธิภาพในการแสดงผลไม่ได้เกี่ยวดับ WiFi อยู่แล้วครับ
ข่าวนี้เน้นไปที่ประสิทธิภาพในการแสดงผลครับ ไม่ได้พูดถึงความเร็วของระบบเชื่อมต่อ
ท่าทางจะไม่ค่อยรู้เรื่องนะ 555555555
จะใช้งานแนวนอนบนมือถือทำไมครัฟ ใช้แนวตั้งดีแล้ว ยกเว้นตอนดูภาพค่อยหมุนแนวนอนได้
ตัว HTML5 รันบน browser นี่ น่าจะเทียบกับทำเป็นแอป ติดลงเครื่องไปมากกว่า
แน่จริงต้องเขียนบน android แล้วเอามา run บนเครื่องรุ่นเก่าอย่างเช่น Galaxy 1, แล้วจะรู้ว่ามันต่างกันยังไง :P
แล้วเค้าวัดการกินทรัพยากรณ์เข้าไปด้วยหรือเปล่าหว่า = =!!
รู้แต่ว่าเครื่องผมเปิดหน้า API ของ ExtJS แล้วค้างน่ะ ...
(Chrome รันบน Windows เครื่องเป็น Pentium 4 2.4)