HTML5 ประกอบด้วยเทคโนโลยีหลายส่วน เช่น แท็กแบบใหม่ๆ, audio/video, canvas, geolocation ฯลฯ ส่วนประกอบหนึ่งที่สำคัญไม่น้อยแต่คนไม่ค่อยพูดถึงเท่าไรคือความสามารถของ "เว็บเพจ" (หรืออาจเรียกมันว่าเป็น "เว็บแอพพลิเคชัน" ก็ได้) ในการเก็บข้อมูลแบบออฟไลน์ ซึ่งก็แยกย่อยได้อีกหลายชนิดมาก (HTML4 เก็บได้เฉพาะคุกกี้เล็กๆ นิดเดียว)
เว็บไซต์ InfoWorld สรุปมาสั้นๆ ดี ผมเลยมาสรุปอีกทีให้สั้นกว่าเดิม เพื่อคนที่สนใจ HTML5 จะไปตามต่อได้ถูกครับ
เทคโนโลยีแรกคือ Web Storage ซึ่งเป็นการเก็บข้อมูลแบบง่ายๆ ในรูป key-value (ภาษาโปรแกรมบางภาษาเรียก dictionary) ซึ่งแยกย่อยได้อีก 2 อย่าง คือ
ฟีเจอร์ Web Storage จะคล้ายกับ Google Gears เมื่อ 3-4 ปีก่อนหน้านี้ เพียงแต่ Web Storage รวมมากับ HTML5 เลย ไม่ต้องลงปลั๊กอินเพิ่มเองแบบ Gears
การเก็บข้อมูลง่ายๆ แบบ key-value อาจไม่เพียงพอต่อความต้องการของนักพัฒนา HTML5 จึงเพิ่มวิธีการเก็บข้อมูลที่ซับซ้อนขึ้นมา ซึ่งก็คือฐานข้อมูลแบบที่เราคุ้นเคยนั่นเอง
ปัญหาของฐานข้อมูลใน HTML5 ก็คือมาตรฐานที่แยกเป็นสองทาง
Blognone เคยลงเรื่อง Web SQL vs IndexedDB ไปครั้งหนึ่งแล้ว ย้อนอ่านรายละเอียดได้ในตอนเก่าครับ
เราพูดถึงการเก็บข้อมูลแบบง่ายๆ และการเก็บลงฐานข้อมูลไปแล้ว ลำดับถัดไปคือการจัดการกับ "ไฟล์" นั่นเอง HTML5 มี API มาให้เราสองตัวคือ FileReader กับ FileWriter หน้าที่ก็ตามชื่อครับ
ปัญหาของ FileReader ที่จะต้องสนใจคือความแตกต่างระหว่างไฟล์ที่อยู่ในเครื่อง กับไฟล์ที่อยู่บนเว็บ ซึ่งกำลังพัฒนากันอยู่
ส่วน FileWriter มีข้อกังวลเรื่องความปลอดภัย เพราะต่อจากนี้ไปเว็บเพจจะสามารถเขียนไฟล์ในเครื่องเราได้ มาตรการแก้ไขจุดอ่อนนี้ก็ต้องพัฒนากันต่อไป
เมื่อเว็บแอพพลิเคชันไม่ได้ต่อเน็ต ก็ต้องมีวิธีจัดการกับข้อมูลที่เกิดขึ้นระหว่างนั้น ซึ่งเป็นหน้าที่ของ AppCaching API ที่บอกว่าเว็บแอพพลิเคชันจะถูกเก็บไว้บนเครื่องนานแค่ไหน ทำให้เว็บแอพมีลักษณะคล้ายๆ กับแอพที่ติดตั้งแบบปกติมากขึ้น
รายละเอียดของวิธีการเก็บข้อมูลแต่ละชนิด ไปตามต่อกันใน HTML5 Tutorial กันเองนะครับ
ที่มา - InfoWorld
Comments
จะดีเกินไปแล้วนะเนี่ย .. ชักดูน่ากลัว ^^'
my blog
อ่านดูแล้วเหมือนเว็บแอพพลิเคชันจะคืนสู่สามัญ กลับไปเป็นแอพพลิเคชันธรรมดา
ต่างกันแค่สามารถแจกให้แต่ละเครื่องใช้ได้ทันทีที่ต้องการ ไม่ต้องออกไปหาซื้อหรือรอดาวน์โหลดเป็นวันๆ
เหมือน หรือแตกต่าง หรือคนละเรื่องกันกับ nosql ครับ
คนละเรื่องเลยครับ
NoSql ก็คือฐานข้อมูลบนเซิร์ฟเวอร์ ที่มีวิธีจัดเก็บข้อมูลใหม่ ลด ชนิดข้อมูล ตัดคำสั่ง insert update delete select ทิ้ง อาศัยเร้วเท่านั้น
แต่ตามบทความนี้คือ ทำไงเราจะเก็บไฟล์บนไคล์เอนท์แล้วยังใช้งานเว็บแอพพลีเคชันได้เหมือนเดิมโดย ไม่ต้องส่ง Request post get กลับไปที่เซิร์ฟเวอร์ อาศัย javascript กับ html5 นี่แหละ เขียนไฟล์ลงบนเครื่อง client ได้เลย
อยากให้ไปหาอ่านเพิ่มเติมครับ ผมว่าอ่านแล้วได้ความรู้ ไม่จำเป็นต้องเป็นโปรแกรมเมอร์ก็อ่านได้นะครับ มันสนุกดี
แต่จะว่าไปเราเห็นว่าสนุก คนอื่นก็อาจไม่คิดแบบนั้นเนอะ -_-"
อ่านแล้วทำให้คิดว่า Browser ก็ต้องมีความรอบคอบมากขึ้นด้วยในหลายๆ ด้าน
ไม่งั้นอะไรที่เก็บไว้ในส่วน Local Storage ก็คงถูกดึงออกไปได้จากช่องโหว่
ยิ่งเว็บ//เทคโนโลยีมันฉลาดมากขึ้น ผมคิดว่าช่องโหว่มันก็ยิ่งมากขึ้นตามไปด้วย
กำลังจะเริ่มอ่านครับ http://html5tutorial.net/
ปล.นอกเรื่อง-กำลังนั่งมองบอทเกมส์ของเฟซบุ๊คเกมส์หนึ่งที่ใช้ SQLite
อยากแงะล่ะสิท่า
อะไรที่ซับซ้อนมาก ช่องโหว่มันก็มากขึ้นครับ เรื่องปรกติ
น่ากลัวเหมือนกัน
ตอนนี้ google chrome ก็ใช้ SQLite เก็บคุกกี้อยู่แล้วนิ
น่าสนุกขึ้นเรื่อยๆ
ผมสงสัยว่าถ้าข้อมูลเก็บไว้ที่ client หมด แล้วเราจะเหลืออะไรอะครับ ความปลอดภัยความส่วนตัวของข้อมูล การนำข้อมูลมาวิจัย มาใช้
มีกระทั่ง DB จะเหลืออะไรให้เซิร์ฟเวอร์ทำเนี่ย
ต้องเรียนรู้อีกเพียบเลยแฮะ
ไม่ต้อง post ไม่ต้อง get คงจะเร็วดีพิลึก แจ๋วๆ
โหลดบิตทางหน้าเว็บใกล้มาถึงแล้ว
--> โหลดบิตทางหน้าเว็บใกล้มาถึงแล้ว
แบบนั้นมีแล้วนะ ^^
http://www.9tana.com/node/bitlet/
~ HudchewMan's Station & @HudchewMan~