Android คือแพล็ตฟอร์มสำหรับอุปกรณ์เคลื่อนที่ตัวแรกที่ฟรี เปิดเผยโค้ด และปรับแต่งได้ทุกอย่าง Android มาพร้อมกับทุกส่วนทั้ง ระบบปฏิบัติการ middleware และโปรแกรมหลักๆ สำหรับอุปกรณ์เคลื่อนที่ นอกจากนี้ยังประกอบไปด้วยชุดของ API ที่เพียบพร้อมเพื่อให้นักพัฒนาจากภายนอกสามารถพัฒนาโปรแกรมดีๆ ได้
* หากคุณจะพัฒนาโปรแกรมสำหรับแพล็ตฟอร์มนี้ (ไม่ใช่พัฒนาตัวแพล็ตฟอร์มหรืออุปกรณ์สำหรับแพล็ตฟอร์ม) แนะนำให้ใช้ Android SDK
* Code Repository ใช้ Git ซึ่งสังเกตว่าตัว Code ฝากไว้กับ Kernel.org เลย (แต่เห็นมีบน android.com ด้วย)
* โค้ดมีขนาดประมาณ 2.1G ซึ่งบอกไว้ว่าหากคุณจะคอมไพล์จะต้องมีที่ว่างประมาณ 6GB
* ตอนนี้ยังคอมไพล์ได้บน Linux (Ubuntu!) และ Mac OS เท่านั้น เครื่องมือที่จำเป็นคือ Python 2.4 และ JDK 5.0 update 12
* ตัว Android พัฒนาอยู่บน Linux Kernel 2.6 อีกทีนึง
* สำหรับโปรแกรมต่างๆ ก็รันบน Virtual Machine ที่ชื่อ Dalvik ซึ่งพัฒนาโดยวิศวกรของกูเกิลอีกทีนึง (ดูภาพ)
* โครงการแบ่งเป็น 3 ส่วนใหญ่ๆ (ดูจาก Project layout) ก็คือ
* Core project คือ Runtime, Bootloader, Kernel, Virtual Machine, Debugging tool และตัวหลักๆ ใช้ในการร่วมส่วนอื่นๆ เข้าด้วยกัน รวมไปถึงการเข้าถึงฮาร์ดแวร์
* External project เป็นโครงการของโปรแกรมอื่นๆ ที่ใช้บน *nix ทั่วๆ ไป ที่นำมาใช้ใน Android รวมไปถึงไลบราลี่บางตัว
* Packages คือโปรแกรมพื้นฐานของแพล็ตฟอร์ม และรวมไปถึงเซอร์วิสต่างๆ (ในที่นี้เรียก Providers)
* สัญญาอนุญาตแม้จะใช้ Apache 2.0 แต่ก็บอกไว้ว่าบางตัวก็จำเป็นต้องคงไว้ตามนั้นอย่างเช่น Linux Kernel ก็เป็น GPLv2 อยู่แล้ว ส่วนการส่ง patch ต่างๆ ก็จำเป็นต้องเซ็นสัญญายินยอมก่อน
* Roadmap
* ปลายปีนี้จะมี localization ภาษาเยอรมัน และต้นปีหน้าก็จะมีภาษาฝรั่งเศส ภาษาอิตาลี ภาษาสเปน ภาษาจีน ภาษาญี่ปุ่น ภาษาเบลเยียม และภาษาเชค ส่วนตัว UI ที่เป็นภาษาอื่นที่ไม่ใช่ภาษาอังกฤษก็จะรองรับภายในสิ้นปีนี้เช่นกัน
* รองรับหลาย Access Point Nodes (APNs) ในที่นี้ยกตัวอย่างเช่นสามารถใช้โปรแกรมเล่นเว็บบน Internet APN ในขณะที่ MMS ก็ยังสามารถรับส่งได้กับ MMS APN อีกอันหนึ่ง
* รองรับโปรแกรมบนซิม (SIM application toolkit : STK)
* ต้นปีหน้าจะเพิ่มเติมส่วนของ Input method framework (IMF ไม่ใช่ที่เราเคยกู้เงินเค้านะครับ) ไว้สำหรับรองรับอุปกรณ์นำเข้าแบบอื่นๆ นอกเหนือไปจากแป้นพิมพ์จริงๆ เช่น แป้นพิมพ์บนจอ ซึ่ง IMF จะสามารถช่วยให้นักพัฒนาสามารถพัฒนา IME จาก framwork นี้ได้
* IME : Input method editor ซึ่งจะรองรับแป้นพิมพ์บนจอ การเดาคำศัพท์จากพจนานุกรมและอัลกอริทึ่ม โดย Android จะมีส่วนของ IME เพียงเล็กน้อยเท่านั้น ซึ่งนักพัฒนาสามารถส่งโปรแกรม IME ผ่านทาง Android Market ได้
ที่มา - Android Open Source Project
Comments
ถึงคราวที่วินโดวส์เป็นลูกเมียน้อยแล้ว ------- หมาไฟ
หมาไฟ
IME IMF โอ้ว
ต่อไปจะมี IMG IMH IMI IMJ และอื่นๆตามมาอีกเรื่อยๆ
ปะ Localization กัน
Ubuntu ครับ (คง)ไม่ใช่ Ubutu
Jusci - Google Plus - Twitter
ขอบคุณครับ
กรอบเหลืองน่าสนใจมากครับ
เห็น repo แล้วเขาแบ่งเป็น sub-project คงไม่ต้อง fetch ทั้ง 2GB