รวบรวมความคิดเห็นเรื่องต่างๆที่เกียวกับเครื่องมือพัฒนาโปรแกรมบนมือถือที่เคยเขียนลงใน note ของ facebook เมื่อนานมาแล้วมาไว้ในบล็อคอีกที ซึ่งก็จะมีเรื่อง ความคิดเห็นเกียวกับภาษาและเครื่องมือพัฒนา Mobile App , ข้อคิดเห็นเกียวกับ Silverlight นายไม่ได้เกิดมาเพื่อฆ่า Flash , เรื่องของแอนดรอยด์ , และแถมด้วยเรื่องของ \r และ \n อีกนิดหนึ่ง
ความคิดเห็นเกียวกับภาษาและเครื่องมือพัฒนา Mobile App
ภาษาและเครื่องมือพัฒนา Mobile App ของแต่ละ Platform
- iPhone ใช้ภาษา Objective-C พัฒนาบน Xcode เป็น platform เดียวที่ให้พัฒนาโปรแกรมแบบ Native ได้ ฉะนั้นเรื่องประสิทธิภาพไม่ต้องพูดถึง มันสามารถใช้พลังของเครื่องได้มากกว่าตัวอื่นอยู่แล้ว
- Android ใช้ภาษา Java พัฒนาด้วย Editor อะไรก็ได้ แต่แนะนำ Eclipse ส่วนตัว Run Time ของ Android ไม่ได้ใช้ JVM มาตรฐานของ Java แต่ใช้ Dalvik อนาคตขึ้นกับ Oracle และ Google จะคุยกันหละทีนี้ —”
- Windows Phone 7 ใช้ VB,C# รันอยู่บน Silverlight , XNA พัฒนาด้วย Visual Studio ถึง wp7 จะมาทีหลังแต่ฐานผู้พัฒนาโปรแกรมบน Visual Studio ก็มีมากอยู่แล้ว คงไม่เป็นการยากที่จะเพิ่มจำนวน application ให้ทันคู่แข่งรายอื่น แต่ยังข้องใจในประสิทธิภาพของโปรแกรมที่รันอยู่บน Sliverlight ไม่น้อยว่ามันจะทำงานได้ดีขนาดไหน เพราะเข้าใจว่า Silverlight ก็รันอยู่บน .NET อีกที
ความเห็นส่วนตัวคิดว่าต่อไป Application ต่างๆ ควรถูกพัฒนาโดย HTML5 มากกว่า อาจจะเป็นการ Bundle HTML5 ลงไปในโปรแกรมที่พัฒนาโดยตรงก็ไม่น่ามีปัญหา หรืออย่างน้อยก็น่าจะเป็นการใช้ HTML5 คู่กับเครื่องมือพัฒนาหลักของแต่ละ platform ก็น่าจะทำได้ (Hybrid Apps) อย่างน้อยก็ช่วยลดเวลาในการพัฒนาโปรแกรมสำหรับทั้ง 3 platform นี้ได้มากพอสมควร
ข้อคิดเห็นเกียวกับ Silverlight นายไม่ได้เกิดมาเพื่อฆ่า Flash
- แรกเริ่ม เดิมที MS คงตั้งใจเอา Silverlight มาชนกับ Flash เต็มๆ แต่ก็ทำไม่ได้เพราะฐานผู้ใช้เดิมของ Flash มีเยอะเหลือเกิน อันนีคนแพ้ไม่ได้มีแค่ Silverlight แค่อย่างเดียว ยังมี JavaFX อีกตัวที่เกิดมาแล้วตายเลย
- คุณสมบัตเด่นของ Silverlight ไม่มีตัวไหนเลยที่ Flash ไม่มี อันนี้บาปปปปปปปปปมาก ถึงจะเอาเรื่อง smooth streaming มาเป็นจุดขายในเรือง VDO แต่ก็ไม่ได้ช่วยอะไร คงลืมไปว่าถ้าคนอยากดูหนังจริงๆ เค้าจะไปดูที่โรง บน web เอาไว้ดูคลิป
- MS ไม่ยอมทำ Sliverlight Run Time บน Platform อื่นๆ ปล่อยให้เป็นหน้าที่ของ Mono Project ที่ทำ Moonlight อยู่คนเดียว ซึงในมุมมองของผู้ใช้เราไม่มีความเชือมั่นในตัว Moonlight เลยซักนิด และ MS เองก็ไม่เคยสัญญาหรือมีทาทีให้การสนับสนุนโครงการแต่อย่างใด
- เครือ งมือในการพัฒนา Microsoft Expression Blend ทำออกมาได้ไม่ดีนัก ไม่เข้าใจว่าจะแยกมาทำไม ทำไมไม่รวมลงใน VS ซะให้หมด
- อนาคตของ Silverlight ที่จะใช้สำหรับ website คงหมดเท่านี้ จะอยู่รอดได้ก็ด้วย Windows Phone 7 เท่านั้น เพราะ MS ให้ Silvelight เป็น Platform หลักในการพัฒนา ถ้าไม่มี WP7 นายก็ตาย หรือไม่ Silverlight ก็อาจจะพา WP7 ตายไปพร้อมกันด้วยก็ได้
- แอนดรอยด์พัฒนาอยู่บน Linux version 2.6
- ภาษาหลักที่ใช้ในการพัฒนาโปรแกรมบนแอนดรอยด์คือ Java
- Java Virtual Machine ที่ใช้เป็น Run Time บนแอนดรอยด์ไม่ได้ใช้ JVM มาตรฐานจาก Oracle แต่ใช้ Dalvik VM
- เราสามารถพัฒนาโปรแกรมบนแอนดรอยด์โดยใช้ c/c++ เพื่อให้ได้โปรแกรมแบบ Native ได้เช่นกัน
- Web Browser หลักบนแอนดรอยด์ใช้เอนจิน Webkit
- ชื่อรุ่นของแอนดรอยด์จะใช้ชื่อรหัสเป็นชื่อขนมหวาน
- การสมัครเป็น Android Developer จะเสียค่าสมัคร 25 USD (จ่ายครั้งเดียว)
- ส่วนแบ่งรายได้ระหว่างผู้พัฒนากับแอนดรอยด์มาร์เก็ต คือ 70/30
- การซื้อแอ๊ปบนแอนดรอยด์มาร์เก็ต ต้องใช้ผ่าน Google Checkout เท่านั้น
- แอนดรอยด์เป็นโอเพนซอร์ส ใครอยากเอามาทำเองก็ย่อมได้
- Android
- Windows Phone 7
- Cloud Computing (ต้องทำโปรเจคที่รันบน Cloud Computing อย่างน้อย 1 ตัวในปีนี้)
มีตัวเลือกให้เล่นอยู่ 3 ตัว แต่ได้ลอง Google App Engine ไปแล้ว และตัวอื่นควรศึกษาเพิ่ม
– Google App Engine (กำลังเลือกว่าจะใช้ Java หรือ Python คาดว่าจะใช้ Python)
– Amazon EC2
– Microsoft Windows Azure - HTML5, CSS, JS (ยังยืนยันแนวคิดเดิมว่า HTML5 จะเติบโตจากอุปกรณ์ประเภท Mobile ก่อนก้าวไปยัง Desktop และหมดยุครุ่งเรื่องของ Desktop แล้ว)
- NoSQL คิดว่าจะเริ่มที่ MongoDB จากนั้นค่อยไปต่อยอดที่ Apache Cassandra
- UNIX / Linux ใช้ “\n”
- Mac OS ตั้งแต่เวอร์ชั่นแรกจนถึง Mac OS Version 9 จะใช้ “\r”
- Mac OSX มีต้นตระกูลเป็น UNIX ดังนั้นก็ใช้ “\n”
- Microsoft Windows ใช้ “\r\n”