งาน WWDC ของแอปเปิลในครั้งนี้ สำหรับนักพัฒนาโปรแกรมแล้ว สิ่งที่น่าสนใจมากไปกว่า OS X Lion หรือแม้แต่ iOS 5 ก็คือการเปิดตัว iCloud โดยเฉพาะนาทีที่สตีฟ จ็อบส์ประกาศว่าจะเปิด API สำหรับบริการ iCloud ให้กับนักพัฒนาโปรแกรมได้ใช้งานด้วย
มีเหตุผลอะไรที่แอปเปิลต้องสร้าง Data Center ที่ใหญ่โตขนาดนั้นเพียงเพื่อรองรับโปรแกรมเพียง 9 โปรแกรมที่จ็อบส์ประกาศออกไป นั่นเป็นเพราะแอปเปิลได้เปิดให้ทุกโปรแกรมที่ทำงานอยู่บนอุปกรณ์ iOS สามารถใช้งาน iCloud API ได้ทั้งหมด เราสามารถเขียนโปรแกรมให้ Sync ไฟล์ทั้งหมดได้เหมือนกับที่จ๊อปส์โชว์โปรแกรม Keynote เก็บเซฟของเกมส์ พอร์ตหุ้น รูปที่เพิ่งแต่งเสร็จ ไฟล์ทุกชนิดที่ใช้ในโปรแกรม ทั้งหมดสามารถที่จะไปเก็บไว้บน iCloud ได้นั่นเอง
iCloud API คืออะไร เป็นอย่างไร ทำอะไรได้บ้าง เราลองมาดูกัน
รู้จักกับ iCloud และ iCloud API
ข้อควรรู้เบื้องต้นเกี่ยวกับบริการ iCloud ของแอปเปิลมีดังนี้
บริการ iCloud จะแบ่งการเก็บข้อมูลของเราเป็น 2 ประเภท
การทำงานของ iCloud Service
บน iOS 5 จะมีบริการใหม่ที่ชื่อ iCloud Service มีหน้าที่คอยจัดการเรื่องการรับและส่งข้อมูลระหว่างอุปกรณ์ iOS กับเซิร์ฟเวอร์คลาวด์ของแอปเปิล มีขั้นตอนการทำงานดังนี้
ในมุมของนักพัฒนาโปรแกรมแล้ว เป็นเรื่องดีที่เราไม่ต้องไปยุ่งเกี่ยวกับการรับส่งข้อมูลไปบนคลาวด์เซิร์ฟเวอร์แต่อย่างใด รวมไปถึงการเข้ารหัส, ระบบความปลอดภัย, ปัญหา Fail Over, ปัญหาพื้นที่เต็ม ฯลฯ เพราะทั้งหมดนี้ iCloud จะจัดการให้
สิ่งที่นักพัฒนาโปรแกรมต้องสนใจ คือการ Sync ข้อมูล แน่นอนว่าเราจะต้องเจอปัญหาเรื่องของเวอร์ชันของไฟล์ไม่ตรงกัน (File-Version Conflicts) เช่นนาย A และนาย B อาจจะแก้เอกสารเดียวกันอยู่ แต่อาจจะมีเครื่องของคนใดคนหนึ่งที่ไม่ได้ต่ออินเทอร์เน็ตเอาไว้ เมื่อถึงเวลาที่ iCloud Service ทำงาน แน่นอนว่าเวอร์ชันของไฟล์เอกสารจะต้อง Conflict กัน เป็นต้น
ข้อแนะนำอีกอย่างหนึ่งคือโปรแกรมควรจะเป็น Universal App คือโปรแกรมเดียวสามารถใช้งานได้ทั้ง iPhone และ iPad เช่นเดียวกับโปรแกรมของแอปเปิลอย่าง Keynote หรือ iBook เป็นต้น
ทำไมต้องเก็บข้อมูลบนคลาวด์ ?
แล้วทำไมเราจะไม่เก็บข้อมูลบนคลาวด์ล่ะ ? (Why Not ?)
แน่นอนว่าถ้าทุกโปรแกรมจัดเก็บข้อมูลไว้บนคลาวด์ ผู้ใช้ก็จะได้ประโยชน์มาก ลองนึกภาพนาทีที่เราซื้อ iPhone 5 หรือ iPad 3 มาใหม่ ใส่ Username+Password เสร็จแล้วก็สามารถเล่น Angry Bird ต่อจากด่านที่เล่นค้างอยู่ได้เลย, เปิดไฟล์พรีเซ็นเทชั่นเดิม เข้าไปคุยกับเพื่อนต่อใน WhatsApp หรือแม้แต่เปิดหน้าเว็บเข้าไปจัดการกับเอกสารต่างๆ บน iCloud ด้วยตัวเองก็ยังได้
ในมุมมองเจ้าของโปรแกรม การเก็บข้อมูลไว้บนคลาวด์ก็เป็นเทรนด์ที่หลายโปรแกรมพยายามทำกันอยู่ ตัวอย่างเช่น Photoshop Express หรือ Instgram ที่ให้ผู้ใช้ตกแต่งรูปถ่ายแล้วโอนข้อมูลไปเก็บไว้บนคลาวด์ของตัวเอง iCloud ช่วยให้นักพัฒนาสะดวกมากขึ้น ลดภาระด้านการจัดการเซิร์ฟเวอร์ และช่วยให้ผู้ใช้อยู่กับโปรแกรมของเราไปนานๆ
ยุทธศาสตร์คลาวด์ของแอปเปิล
แอปเปิลพยายามผลักดันอย่างมากให้นักพัฒนาปรับปรุงโปรแกรมเพื่อใช้บริการ iCloud (เป็นหัวข้อแรกสุดและกินเนื้อที่กว่าครึ่งบนเอกสาร iOS 5) ซึ่งถ้าหากว่าแอปเปิลสามารถทำได้สำเร็จ จะทำให้แอปเปิลถือครองข้อมูลของผู้ใช้แทบจะทั้งหมด ไม่ใช่เพียงแค่รูปภาพ วิดีโอ หรือเพลงเท่านั้น แต่เป็นข้อมูลของทุกโปรแกรมที่อยู่บนอุปกรณ์ iOS
ซึ่งในมุมของผู้ใช้ การที่จะย้ายค่ายเปลี่ยนไปใช้แฟรตฟอร์มอื่นอย่าง Android หรือ Windows Phone ก็จะเ็ป็นเรื่องยากขึ้นเรื่อยๆ ทำให้ในอนาคตผู้ใช้อาจจะต้องเลือกค่ายมากขึ้นกว่าในปัจจุบัน การที่แอปเปิลมีโปรแกรมอยู่ใน App Store มากถึง 500,000 โปรแกรมเป็นจุดที่ได้เปรียบมาก
ยุทธศาสตร์คลาวด์ของแอปเปิลคือเน้นไปที่โปรแกรม (Native Application) ส่วนคลาวด์ของกูเกิลนั้นเน้นไปที่โปรแกรมบนเว็บ (Web Application) ซึ่งก็มีข้อดีข้อเสียต่างกันไป อย่างไรก็ดี นี่เป็นเพียงการเริ่มต้นของยุคคลาวด์ เราคงต้องมองดูกันต่อไปยาวๆ ว่าที่สุดแล้วใครจะเป็นผู้ชนะในสงครามนี้
ที่มา - Khajochi Blog, รูปจาก Engadget, Apple iCloud