บ่ายนี้นั่งอ่านบทความเรื่อง 5 key learnings after 8 years of iOS development
ได้ทำการสรุปประสบการณ์ในการเรียนรู้เกี่ยวกับการพัฒนา iOS ให้
- Efficient
- Maintainable
- Fun
1. Stay Native
แน่นอนว่าการพัฒนา iOS ด้วยภาษา native ทั้ง Objective-C, Swift ด้วยเครื่องมือพัฒนาเช่น XCode เลย เป็นแนวทางที่เหมาะสมที่สุดแล้ว เนื่องจากการนำ Cross-platform tool/framework มาใช้นั้น มันคือการเพิ่มความซับซ้อนขึ้นมา รวมทั้งก่อให้เกิด bug หรือข้อผิดพลาดต่าง ๆ ตามมาที่สำคัญ Native นั้นคือหนทางในการลดความเสี่ยงต่าง ๆ ออกไปปล. จากประสบการส่วนตัวของผม พบว่า Native มันเริ่มไม่นิ่งเท่าไรแล้ว ตั้งแต่ Objective-C มายัง Swift จาก Swift 1 มายัง Swift 2 จาก Swift 2 มายัง Swift 3 อีกอย่างคือ XCode ที่ตัวใหม่ ๆ bug เยอะเหลือเกิน
ที่สำคัญ Cross platform tool/framework ในปัจจุบันก็ดีขึ้นอย่างมาก ดังนั้นการเลือกเครื่องมือให้เหมาะสมกับ app จึงเป็นเรื่องที่สำคัญมาก ๆ
2. Avoid external libraries
เป็นเรื่องที่สำคัญมาก ๆ ในบทความแนะนำว่า อย่าใช้ external library คือแนวทางที่ดีที่สุด อะไรที่เขียนเองได้ก็เขียน คำถามคือ เราต้องการอะไรบ้าง ? แต่ถ้าเลี่ยงไม่ได้ เช่น การใช้งาน GoogleMap ก็อนุโลมได้นะ ปล. ผมนึกถึงแนวคิดเกี่ยวกับ Don’t Reinvent the wheel ขึ้นมาเลย เช่นเรื่องของการจัดการ network เป็นต้น คำถามที่ตามมาคือ ถ้าใช้ external library พวกนี้แล้ว คุณพร้อมรับกับความเสี่ยงต่าง ๆ หรือไม่ ? เช่นพร้อมรับกับการเปลี่ยนแปลงต่าง ๆ เช่นภาษาที่ใช้พัฒนาและ API ที่เปลี่ยนไป3. Don’t use package manager
จากข้อ 2 นั่นเอง ถ้าไม่ใช้ external library แล้ว ก็ไม่มีความจำเป็นต้องใช้ package manager tool ใด ๆ เลย บ่อยครั้งนักพัฒนามีปัญหากับ package manager tool เสียอย่างนั้นประเด็นหลักคือ การลดความเสี่ยง ถ้าสามารถ copy library เข้ามายัง project ได้ ทำไปแล้ว !! มันก็มีความเสี่ยงนะ ลองพิจารณากันดู