การทำงานของ iCloud Service
บน iOS 5 จะมีบริการใหม่ที่ชื่อ iCloud Service มีหน้าที่คอยจัดการเรื่องการรับและส่งข้อมูลระหว่างอุปกรณ์ iOS กับเซิร์ฟเวอร์คลาวด์ของแอปเปิล มีขั้นตอนการทำงานดังนี้
- โปรแกรมที่เรียกใช้ iCloud API จะไม่ได้ติดต่อกับเซิร์ฟเวอร์ของแอปเปิลโดยตรงอย่างที่หลายคนเข้าใจกัน
- ตรงกันข้าม เมื่อเราเรียกใช้ iCloud API ไฟล์เอกสารจะถูกนำไปจัดเก็บใน directory พิเศษ (local system-managed directory)
- ซึ่ง directory นี้จะเป็นที่รวมไฟล์ของทุกโปรแกรมที่ต้องการส่งขึ้นไปที่ iCloud
- เมื่อถึงเวลาที่เหมาะสม iCloud Service จะเข้ามาจัดการส่งไฟล์ขึ้นไปบนคลาวด์ให้เองโดยอัตโนมัติ
- iCloud Service จะแจ้งเตือนมายังโปรแกรม เมื่อเกิดการเปลี่ยนแปลงใดๆ กับไฟล์ เช่นมีเวอร์ชันที่ใหม่กว่าอยู่บนคลาวด์ หรือผู้ใช้เข้าไปลบไฟล์นี้ออกไปจากคลาวด์
ในมุมของนักพัฒนาโปรแกรมแล้ว เป็นเรื่องดีที่เราไม่ต้องไปยุ่งเกี่ยวกับการรับส่งข้อมูลไปบนคลาวด์เซิร์ฟเวอร์แต่อย่างใด รวมไปถึงการเข้ารหัส, ระบบความปลอดภัย, ปัญหา Fail Over, ปัญหาพื้นที่เต็ม ฯลฯ เพราะทั้งหมดนี้ iCloud จะจัดการให้
สิ่งที่นักพัฒนาโปรแกรมต้องสนใจ คือการ Sync ข้อมูล แน่นอนว่าเราจะต้องเจอปัญหาเรื่องของเวอร์ชันของไฟล์ไม่ตรงกัน (File-Version Conflicts) เช่นนาย A และนาย B อาจจะแก้เอกสารเดียวกันอยู่ แต่อาจจะมีเครื่องของคนใดคนหนึ่งที่ไม่ได้ต่ออินเทอร์เน็ตเอาไว้ เมื่อถึงเวลาที่ iCloud Service ทำงาน แน่นอนว่าเวอร์ชันของไฟล์เอกสารจะต้อง Conflict กัน เป็นต้น
ข้อแนะนำอีกอย่างหนึ่งคือโปรแกรมควรจะเป็น Universal App คือโปรแกรมเดียวสามารถใช้งานได้ทั้ง iPhone และ iPad เช่นเดียวกับโปรแกรมของแอปเปิลอย่าง Keynote หรือ iBook เป็นต้น