บทความนี้เป็นสรุปรวบยอดของ 3 เหตุการณ์เกี่ยวกับ Android ในรอบสัปดาห์นี้
ผมจะทยอยเล่ารายละเอียดของ Android และปิดท้ายว่าทำไมเราควรส่งโปรแกรมเข้าแข่ง Android Developer Challenge
Android คือแพลตฟอร์มใหม่สำหรับโทรศัพท์มือถือและอุปกรณ์พกพา ซึ่งประกอบด้วยระบบปฏิบัติการ ไลบรารี เฟรมเวิร์ค และซอฟต์แวร์อื่นๆ ที่จำเป็นในการพัฒนา มันเทียบเท่ากับ Windows Moble, Palm OS, Symbian, OpenMoko และ Maemo ของโนเกีย โดยจับตลาดมือถือรุ่นใหม่ๆ ความสามารถสูงๆ (ซึ่งเกิดจากการกระตุ้นตลาดของ iPhone) โดยกลุ่มมือถือเหล่านี้จะทยอยวางตลาดในปีหน้า
ถึงจะเป็นแพลตฟอร์มใหม่ซิงๆ แต่ Android ก็ใช้องค์ประกอบที่เป็นโอเพนซอร์สหลายอย่าง เช่น Linux Kernel, SSL, OpenGL, FreeType, SQLite, WebKit และเขียนไลบรารี+เฟรมเวิร์คของตัวเองเพิ่มเติม ซึ่งทั้งหมดจะโอเพนซอร์ส (ใช้ Apache License) ลองดูภาพประกอบ
ภาษาที่ใช้พัฒนาเป็นจาวา แต่เอามาเฉพาะภาษา (Java programming language) ไม่ได้ใช้แพลตฟอร์มของซันเลย โดย Android มีรันไทม์ของตัวเองชื่อว่า Dalvik ซึ่งแทนที่เราจะคอมไพล์เป็นไบต์โค้ด ก็ใช้ฟอร์แมต Dalvik Executable (.dex) แทน การสร้าง GUI ใช้เป็นไฟล์ XML (สไตล์เดียวกับ XAML หรือ XUL)
ไลบรารีที่มีให้เรียกก็เป็นของ Android ทั้งหมด (import android.*) ไม่เกี่ยวกับ J2ME เลย อารมณ์ว่ายืม syntax ของจาวามาใช้เฉยๆ (ตัวอย่างโค้ด) แต่อย่างอื่นกูเกิลทำเองเกือบหมด
เครื่องมือพัฒนา Android ก็ไม่ใช่อื่นไกล มีปลั๊กอินสำหรับ Eclipse ตามสมัยนิยม (ชื่อ Android Development Tools - ADT) ใช้ Apache Ant สำหรับ build สำหรับส่วนของ SDK นั้นก็ให้เครื่องมือมาครบ ทั้งตัวดีบั๊กสารพัดชนิด และ emulator ของ GPhone สำหรับรันแอพพลิเคชันทดสอบ (เพราะตอนนี้ยังไม่มีเครื่องจริงๆ ให้ลองอยู่ดี)
สำหรับรายละเอียดทางเทคนิคของ Android แนะนำให้ดูวิดีโอ 3 ตอนบน YouTube ซึ่งพูดโดยวิศวกรของ Android เอง
สำหรับ SDK และรายละเอียดอื่นๆ ดูได้จากเว็บโครงการของ Android มีเนื้อหาละเอียด พวก Tutorial และ Reference ก็ขึ้นหมดแล้ว
ตอบง่ายๆ เลยว่า "กูเกิล" ครับ
ปัจจุบันนี้ด้วยอิทธิพลทั้งด้านเทคโนโลยีและการเงินของกูเกิลนั้นน่ากลัวมากอยู่แล้ว กูเกิลตัดสินใจใช้ยุทธศาสตร์การสร้างสภาวะแวดล้อม (ecosystem) ของ Gphone ขึ้นมาแทนการสร้างอุปกรณ์ Gphone ของตัวเอง ยกหน้าที่การพัฒนาฮาร์ดแวร์ให้กับพันธมิตร และหน้าที่ในการพัฒนาแอพพลิเคชันให้กับนักพัฒนาภายนอก โดยเปิด API ของตัวระบบอย่างเต็มที่ ตามโมเดลโอเพนซอร์ส
พันธมิตร 34 รายของกูเกิลรวมตัวกันชื่อ Open Handset Alliance เรามาดูกันว่ากูเกิลชวนใครมาได้บ้าง
อย่างแรกสุดคือผู้ผลิตตัวเครื่องมือถือ
จะเห็นว่ากูเกิลได้ผู้ผลิตมือถือรายใหญ่มา 3 ราย คือ Motorola (อันดับ 2) Samsung (อันดับ 3) และ LG (อันดับ 5) ขาดแต่ Nokia กับ Sony Ericsson เท่านั้น ทั้งสามรายนี้มีส่วนแบ่งตลาดปัจจุบันรวมกัน 34.8% ของตลาดโลก (ตัวเลข Q207 จาก Gartner) ก็พอสู้กับ Nokia ซึ่งมีส่วนแบ่งตลาดอยู่ 36.9%
(Nokia เป็นผู้สนับสนุนหลักของแพลตฟอร์ม Symbian แต่ก็แอบไปทำ Maemo เป็นทางเลือกไว้แล้ว ปัจจุบัน Maemo ถูกใช้ใน Internet Tablet อย่างพวก N770, N800 ซึ่งคาดว่าจะเป็นฐานสำคัญของมือถือ Nokia ในอนาคต)
ถึงแม้เราจะไม่มีอะไรการันตีว่าบริษัทเหล่านี้จะผลิตมือถือที่ใช้ Android ทั้งหมดในอนาคต แต่ด้วยชื่อชั้นขนาดนี้ ก็รับประกันว่าปีหน้าเราจะเห็นมือถือ Android ในท้องตลาด (กระแสหลัก) แน่นอน
อันดับถัดมาคือผู้ผลิตชิ้นส่วนฮาร์ดแวร์
ตามรายชื่อนี้มีพี่เบิ้มมากันหมด ดังนั้นรับประกันได้ว่า Android จะไม่มีปัญหาขาดแคลนไดรเวอร์อุปกรณ์แน่นอน
ฮาร์ดแวร์พร้อมแล้ว เรามาดูว่ามีผู้ให้บริการเครือข่ายหรือโอเปอเรเตอร์เจ้าไหนมาร่วมแจมบ้าง (ข้อมูลตัวเลขจาก Wikipedia)
รายใหญ่ที่ขาดไปก็มีแค่ Vodafone, Orange, AT&T เท่านั้น ที่น่าสังเกตคือโอเปอเรเตอร์จากญี่ปุ่นมาถึงสองราย แถมเป็นสองรายใหญ่ และรูปแบบการผลิตเครื่องมือถือในญี่ปุ่นคือโอเปอเรเตอร์เป็นคนกำหนดสเปกเครื่อง
นอกจากสามหมวดหลักแล้วก็ยังมีบริษัทซอฟต์แวร์อื่นๆ ที่พอคุ้นหน่อยก็เช่น eBay และ Wind River ตรงนี้คงไม่ต้องลงรายละเอียดนะครับ
บริษัทพวกนี้คงไม่ผลักดัน Android สุดตัวชนิดร่วมเป็นร่วมตายกับกูเกิล หลายค่ายอย่าง Motorola ก็มีแพลตฟอร์มลินุกซ์เป็นของตัวเองเอาไว้กันเหนียว แต่ด้วยชื่อชั้นของบริษัทที่ยกมา ก็น่าจะพอเป็นปัจจัยหนุนให้เรามั่นใจว่า Android จะประสบความสำเร็จได้บ้าง ที่เหลือก็ขึ้นกับฝีมือของกูเกิลแล้ว
นอกจากพันธมิตรระดับใหญ่แล้ว อีกสาเหตุหนึ่งที่ผมคิดว่า Android ได้เปรียบก็คือการเป็นแพลตฟอร์มรุ่นใหม่ที่มารอรับการเปลี่ยนยุคอีกครั้งของมือถือ (หลัง iPhone) ซึ่งมือถือรุ่นใหม่ๆ จะมีลักษณะเป็น personal internet device มากขึ้น หน้าจอใหญ่ขึ้น มีระบบอินพุตดีขึ้น ความจุมากขึ้น ฯลฯ ตรงนี้จะเหนือกว่าแพลตฟอร์มเก่าๆ อย่าง Symbian, Palm OS และ Windows Mobile (ที่พอฟัดเหวี่ยงได้ก็คือ OS X ของ iPhone ซึ่งเราก็พยากรณ์ได้ว่าแอปเปิลจะยังใช้ระบบทำเองคนเดียวต่อไปอีกนาน)
ถ้าใครอ่านมาถึงตรงนี้แล้วอยากเห็นหน้าตาของ Android ก็ดูได้จากวิดีโอ ซึ่ง Sergey Brin ลงทุนมาเป็นพรีเซนเตอร์เอง
อย่างไรก็ตาม Android เป็นแพลตฟอร์มใหม่ทั้งตัว ยังไม่มีใครเคยได้ใช้ Android เลย และมีโปรแกรมที่สร้างบน Android น้อยมาก ซึ่งตรงนี้เป็นจุดชี้เป็นชี้ตายว่าแพลตฟอร์มนั้นจะประสบความสำเร็จแค่ไหน
กูเกิลไม่สามารถใช้วิธีสร้างโทรศัพท์ที่คนต้องการเยอะๆ แบบ iPhone ได้ แต่สิ่งที่กูเกิลทำได้ก็คือเอาเงินทุ่มครับ และรอบนี้จำนวนเงินที่ทุ่มออกมาคือ 10 ล้านเหรียญ
และที่ผมเขียนมาตั้งยาวนี้ เพื่อจูงใจว่าเรามาเขียนโปรแกรมชิง 10 ล้านเหรียญกันเถอะ!!!
กูเกิลเปิดตัวการแข่งขัน Android Developer Challenge พร้อมกับการออก SDK โดยแบ่งเป็น 2 ระยะ คือ Android Developer Challenge I กับ II ในช่วงแรกที่ยังไม่มีเครื่องโทรศัพท์จริงๆ ออกมา เราจะสนใจกันแต่ Android Developer Challenge I ก่อน ส่วน II จะตามมาในครึ่งหลังของปี 2008
กติกาง่ายๆ เขียนโปรแกรมอะไรก็ได้บน Android เข้าส่งประกวด หมดเขตวันที่ 3 มีนาคม 2008 สำหรับทีมที่ดีที่สุด 50 ทีม รับไปก่อนเลย 25,000 ดอลลาร์ (เกือบ 8 แสนบาท)
จากนั้นทีมที่เข้ารอบก็เอาเงินไปพัฒนาต่อจนถึงเดือนพฤษภาคมแล้วมาตัดสินกันอีกครั้ง เงินรางวัลรอบนี้คือ 275,000 และ 100,000 ดอลลาร์ตามลำดับ (รางวัลละ 10 ทีม) คิดเป็นเงินไทยก็ 8 ล้านกับ 3 ล้าน
ผมเช็คกฎการแข่งขันแล้ว ใครๆ ก็สามารถส่งได้ ไม่จำกัดเฉพาะสหรัฐ คนไทยส่งได้แน่นอน ส่งกี่ชิ้นก็ได้ และไม่ต้องยกโปรแกรมให้กับกูเกิลด้วย นั่นแปลว่าทำมาแล้วดังก็ขายต่อได้ถ้าต้องการ
ทีนี้กลับมายังจุดเริ่มต้น ว่าทำไมเราควรเข้าแข่งขัน Android Developer Challenge
กลยุทธ์สำหรับการแข่งขัน
Applications will be evaluated on how well they use Android's capabilities to deliver a better mobile experience for users.
เรื่องข่าวคราวความเคลื่อนไหวก็ไม่ต้องเป็นห่วง Blognone จะทยอยนำมาเสนอเรื่อยๆ เมื่อมีข่าวใหญ่ควรรู้ หรือถ้าใครอยากจัดติว Android ก็มาประชาสัมพันธ์ได้เช่นกัน
Comments
SDK บนแมคไม่ support PowerPC โกรธ..
Silverlight ก็ไม่ซัพพอร์ต ยังดีที่ AIR ยังใจบุญ
ตอนนี้เขียน VB.Net App ลง ppc อยุ่พอดี เคยเรียน Java มาบ้างนิสโหน่ย
ไหนๆ Google ทุ่มเงินตังเยาะแล้ว ถ้าไม่ร่วมเดียวเสียน้ำใจ
โหลด SDK เรียบร้อยละ ซู้ตายฮ้า O_oY
silverlight-club.22web.net
ขอบคุณสำหรับข้อมูลครับ
/me โหลดอย่างด่วน!
สนามรบครั้งนี้ใหญ่มโหฬารเลยครับ นอกจากจะต้องแข่งกับนักเรียนนักศึกษา ยังต้องไปแข่งกับลุงๆโปรแกรมเมอร์ทั่วโลกอีก
PoomK
better mobile experience
ขอบคุณสำหรับข้อมูลครับ
ไม่มีปัญญาจะส่งผลงาน แต่จะช่วยกระจายข่าวครับ
จิตใจหวั่นไหวกับโปรเจคจบตัวเองเลยนะเนี่ย
เปลี่ยนโปรเจคจบดีมั้ยน้อ
เริ่มฟอร์มทีมก่อน
LewCPE
lewcpe.com, @wasonliw
พอดีกำลังศึกษา AIR ตอนนี้พักไปก่อนดีกว่า อิอิ
น่าสนใจ Android แฮ่ะ จะลองไปศึกษาดูครับ
~
อ่านความเห็นแรกของคุณ keng แล้วจะโกรธตามก็ไม่มีแรง ขอเศร้าแทนละกัน ฮือ...U_U
Rerng®IT
เขียน p2p app เล่นกันไหมเห็นมัน support XMPPด้วย
mk เขียนบทความนี้ได้ดีมากๆ ครับ ตั้งแต่อ่านงานของคุณมา ผมประทับใจชิ้นนี้ที่สุด
ผมเลยต้องมาอ่านย้อนเลยว่าเขียนอะไรไว้ :P
เขียนได้ดีครัีบ
---
Khajochi
แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com
น่าสนใจมาก จะลองศึกษาดูครับ
ขอเสริมหน่อยครับ ตรงส่วนสีนําเงินคือเป็น java ครับ หลักๆlib ของจาวาจะเอามาจากโครงการ apache harmony ครับผม โดยเอามาเป็นบางส่วน เช่น ตรง I/O ที่ใช้รู้สึกเอามาแต่ nio package และก็มีส่วนที่มาจาก httpclient ของ apache อีกเช่นกันครับ รู้สึกแต่ละอย่างเน้น performance ทั้งนั้นเลยครับ มีรายละเอียดลองอ่านได้ที่นี่ครับ http://www.infoq.com/news/2007/11/android-java
'
เขียนบทความได้ตื่นเต้นดีครับ.. อ่านแล้วอยากร่วมเขียนด้วย.. แต่โดยสายงานแล้วทำ graphic (based on website) ใครสนใจทำแต่ขาดมือ graphic กระซิบหลังไมค์ได้ ถ้า project น่าสนใจ ผมร่วมด้วยครับ
ปล. แอบกระซิบ mk: งานนี้ google thailand มาแอบกระซิบบอกอะไร mk หรือเปล่า?
มีแต่ Sergey Brin มาเข้าฝันครับ อิอิ
สุดยอดครับ
เขียนบทความได้ดีมากจริงๆครับ ขอชมเชย
อ่านแล้วฮึกเหิมขึ้นมาเลย
แต่งานนี้ดูจากโจทย์แล้ว บอกตรงๆว่าวัดกันที่ไอเดียล้วนๆ
น่าสนแฮะ.....
ไม่มีใครอยากไปสำรวจดวงจันทร์กันเหรอ
อันนั้นอยากที่สุดเลยครับ แต่ที่มหาลัยเขาไม่ทำกัน เศร้า
PoomK
ใน Forum เริ่มฟอร์มทีมกันแล้วนะครับ เผื่อใครตกหล่น
ด้วยความสัตย์จริง
ชีวิตนี้ไม่เคยเขียนหรือศึกษา Java มาก่อน (บ้านนอกมากมั้ยเนี่ย?)
ตอนนี้ยังหาทางรัน android.jar บน Gutsy ไม่ได้เลย(ลง lib, jdk, gcj อะไรให้มั่วไปหมด export PATH/CLASSPATH ให้วุ่น ก็ไม่เวิร์ค)
จริงๆ แค่อยากลองดูเล่นๆ
แต่งานนี้ ถ้าเอา Jython มา Implement on top ไม่ได้
สงสัยได้แค่นั่งดูตาปริบๆ หึหึ
ลองดูเวปนี้ครับเผื่อช่วยได้
http://scenewilderness.blogspot.com/2007/11/installing-android-sdk-on-ubuntu-gutsy.html
ผมลองเซทแล้วก็ใช้ได้นะครับบน ubuntu gutsy
เป็นนิสิต ป.ตรี ปี 3 อยู่ ที่จริงสนใจ Android มาก(เพราะเป็นของ Google :P) เขียน Java ไม่ใช่ปัญหา แต่ปัญหาสำคัญคือไม่มีไอเดีย ไม่รู้ว่าจะทำอะไรดี โดยส่วนตัวไม่ใช่คนบ้ามือถือมากนัก ทุกวันนี้ยังใช้แบบโลโซ โทรได้ เมมเบอร์ได้ แค่นั้น เลยไม่รู้ว่าจะทำอะไรดี เหอๆ ถ้ามีไอเดียดีๆ คงทำเป็นโปรเจคจบปีหน้าแน่ๆ แต่ไม่มีแฮะ เหอๆ - -" เป็นกองเชียร์ไปก่อนละกันเน้อ~~
น่าสนใจสุดๆอะครับ - -
น่าสนใจขนาดผมลงทุน register เวบนี้เพื่อมาตอบเลย 55 (ปกติ read-only)
คุณ mk เขียนได้ดีมากๆจริงๆครับ บทความนี้ :)
http://flyingdogz.wordpress.com
เห็นด้วยครับ บทความนี้มีแนวคิดที่ดีมาก รู้จักนำข่าวที่ไกลตัวมาวิเคราะห์-วิจารณ์ผลกระทบที่ทำให้เกิดประโยชน์กับผู้อ่าน(ใกล้ตัว) และจุดประกาย+กระตุ้นให้มีส่วนร่วม เพราะเท่าที่ี่อ่านมาส่วนใหญ่มักจะแปลกันอย่างเดียว อ่านแล้วเหมือนไม่ค่อยได้อะไร ยังไงขอให้ Blognone รักษามาตรฐานนี้ต่อไปนะครับ
แล้วทำไมต้องแขวะกันด้วยครับ บอกตรง ๆ ว่าไม่ชอบวิธีที่คุณบ่นเลย ไม่สร้างสรรค์
--
--
กำธร นายยังมีสิทธิบ่นถึงคนที่นายไม่ชอบได้ แล้วเราไม่มีสิทธิบ่นถึงสิ่งที่เราไม่ชอบบ้างเหรอไง ถ้าเขาทำสิ่งที่ดีเราก็ชม ทำไม่ดีเราก็ด่า อย่างนี้ไม่เรียกว่าสร้างสรรค์แล้วเรียกว่าอะไร เลิกทำตัวเป็นองครักษ์พิทักษ์นาย(เจ้าของเว็บ)ซะทีเถอะ เค้าไม่ได้ช่วยให้ทำให้นายเด่นดังขึ้นมาได้หรอกนะเพื่อน
ใช่ครับคุณมีสิทธิ แต่ผมเห็นว่าคุณใช้สิทธิผิดที่ผิดทางไง อย่างคุณชมที่คุณ mk เขียนนี้ว่าดี ผมก็เห็นด้วยและชื่นชม แต่คุณกลับแขวะไปหาคนอื่น ทั้ง ๆ ที่ไม่เกี่ยวอะไรกับบทความนี้ อันนี้บอกอีกทีว่าไม่ชอบ คือถ้าคุณไม่เห็นด้วยกับข่าวไหน หรือบทความไหน คุณไปคอมเมนต์ในนั้น ผมยัง ok นะ อย่างผมเห็นว่าคอมเมนต์อันนี้ของคุณไม่เหมาะ ผมก็ reply ตอบตรงนี้เลย ไม่เอาไปบ่นที่อื่น
ในกรณีนี้ที่ผมว่าคุณ เพราะว่าคุณสมควรถุกว่า ไม่เกี่ยวกับว่าผมพิทักษ์ใคร แต่ถ้าผมจะปกป้องใคร ถ้าเขาเป็นคนดี ทำสิ่งที่เหมาะสมแล้ว ผมก็ยอมเอาตัวเข้าแลกนะ
อ่อ อีกอย่าง ผมไม่ได้หวังทำตัวให้เด่นดัง อยากได้ชื่อเสียงสักหน่อย
--
--
พูดอย่างนี้ เจอกันหลังห้องน้ำดีกว่า ชวน lew กับ mk ไปด้วยก็ได้นะ เราจะมาตัดสินปัญหากันอย่างลูกผู้ชายตามทฤษฎีของ Charles Darwin
กรรม ชวนตีอีก คนเรา ที่อยากพูดผมก็พูดไปหมดละ ไปละ ขี้เกียจพูดแล้ว
--
--
ไอ้หุ่นอ่านไทยได้ด้วย ลองแล้ว
Linux อ่านไม่ได้นะ...
OS อะไรอ่ะครับ
LewCPE
lewcpe.com, @wasonliw
หุ่นยนต์ใน Mac OS ก็อ่านไทยไม่ได้ครับ
ทำบน Ubuntu 7.10 น่ะ ใช้วิธีแก้ system font ของไอ้หุ่น ให้มีตัวอักษรไทย แล้วยัดกลับเข้าไป สบายแฮ
http://www.keng.ws/2007/11/343
ผมก็อป font ไปทับเลย ก็อ่านไทยได้ครับ
ตามนี้ http://pit.dogpositive.com/blog/2007/11/15/thai-on-android/
Don't think, Just read
pittaya.com
คุณmkช่วยหน่อย ผมไม่ค่อยมีพื้นฐานแต่อยากสร้างชื่อบ้าง
มาสอนผมหน่อย
อ่านะ self study ดีมั้ยครับ Android tutorial ก็มีผมนั่งอ่านเฉยๆ ไม่ได้ลองเขียน เพราะว่า aptitude กับ ลง eclipse plug-in ไม่ได้(อยู่College ที่ Bangalore มีปัญหาเรื่อง routing) ยังรู้เรื่องเลยนะครับ ไม่ได้ยากมากอ่าน java tutorial ซักสัปดาห์นึงก็น่าจะอ่าน code ของ Android รู้เรื่องแล้วนะครับสู้ๆ
คุณAnjue เรียนอยู่Collegeไหนครับ พอดีว่ากำลังสนใจ Bangalore
ทำให้มันอ่านไทยจนได้ ขอบคุณ keng จริงๆ :-) ลองบน windows แล้ว เดี๋ยวไปทำใน linux ต่อ
Rerng®IT
hot hit อย่างนี้ เปิดกลุ่มใหม่ใน codenone ดีไหมครับพี่้น้อง อิอิ
ขอบคุณครับสำหรับข่าวที่นำเสนอ เป็นประโยชน์มาก
ต้องเริ่มเตรียมตัวแล้ว คงต้องเริ่มปัดฝุ่นจาวากันใหม่ หลังจากเก็บเข้ากรุมาปีกว่า ๆ
ผมแนะนำให้เปิดกระทู้ใน Codenone เพิ่มเติม เพราะผมเองไม่รู้จะไปปรึกษาใครเหมือนกันครับ
ดันมาอยู่ต่างแดนซะนี้
ส่วนที่ Florida ก็มีกระแสอยู่เหมือนกัน เิริ่มเข้าหน้าหนาวผมคงอยู่แต่บ้านทำส่งกับเค้ามั่ง
ผมเขียนโปรแกรมไม่ค่อยเป็นชิ้นเป็นอันสักเท่าไหร่ แต่ก็ขอลองหน่อยแล้วกัน งานนี้ ขอบคุณมากครับ
gPhone จะรองรับ client certificate มั้ยน้า ?
แบบว่าอยากเล่นเน็ตของมหา'ลัย น่ะ :p