แนวทางสำหรับการเริ่มต้นเขียน Android App
บทความนี้ต้องการแนะนำแนวทางคร่าวๆสำหรับผู้ที่ต้องการเริ่มต้นพัฒนาแอปแอนดรอยด์ ที่ไม่รู้ว่าจะเริ่มต้นจากอะไรดี ต้องทำอะไรก่อนบ้าง พอจะค้นหาในอินเตอร์เน็ตก็เจอเยอะแยะไปหมดไม่รู้ว่าอันไหนควรจะเริ่มต้นก่อน
ก่อนอื่นผู้ที่หลงเข้ามาอ่านจะต้องเตรียมอุปกรณ์ดังต่อไปนี้
เจ้าของบล็อกขอแนะนำให้เครื่องคอมพิวเตอร์ที่มีสเปคดีๆหน่อย อย่าสเปคต่ำมาก เพราะนี่คือ Java ซึ่งใช้สเปคพอสมควร และเจ้า Android Studio นั้นพร้อมที่จะกินทรัพยากรเต็มที่โดยเฉพาะ RAM
ดังนั้นก็ควรเลือกเครื่องที่มี CPU ดีพอตัวหน่อย (Intel Core i5 ขึ้นไป) และควรจะมี RAM ซัก 16GB หรือมากกว่านั้นก็ยิ่งดี เพราะนอกจากจะโดน Android Studio เขมือบทรัพยากรเครื่องแล้ว อย่าลืมว่ามีพวก Chrome หรือโปรแกรมต่างๆที่อาจจะต้องเปิดควบคู่ไปด้วยระหว่างการพัฒนาแอปแอนดรอยด์
ยอมรับเลยว่ายุคสมัยนี้ใครๆก็สามารถเรียนรู้ได้ผ่านอินเตอร์เน็ต (เจ้าของบล็อกคนนึงละ) ไม่ว่าจะเรียนรู้จากเว็ปต่างๆหรือการถาม-ตอบในที่ต่างๆ โดยเฉพาะ Stackoverflow เพราะว่าที่แห่งนี้จะมีคำตอบที่ผู้ที่หลงเข้ามาอ่านค้นหาอยู่เกือบ 90% ของคำตอบทั้งหมดเลยก็ว่าได้
และนอกจากนี้บน Android Studio ก็ค่อนข้างต้องการอินเตอร์เน็ตด้วย ถึงแม้ว่าจะออฟไลน์ได้ แต่การออนไลน์ได้มันก็จะสะดวกกว่า อย่างการดาวน์โหลด Dependency หรือการใช้งาน Version Control ก็ตาม
การเรียนรู้ในการพัฒนาจะทำได้ดีและเร็วก็เมื่อมีอุปกรณ์และเครื่องมือพร้อมอยู่เสมอ การมีเครื่องแอนดรอยด์จริงๆให้ใช้ก็เช่นกัน ถึงแม้ว่าจะมี Emulator ให้ใช้ก็ตาม แต่การมีเครื่องจริงก็ทำให้ผู้ที่หลงเข้ามาอ่านสามารถเรียนรู้ได้เยอะกว่านะเออ
อันนี้ค่อนข้างสำคัญพอสมควรที่ผู้ที่หลงเข้ามาอ่านจะต้องเจียดเวลาในชีวิตประจำวันมาทุ่มเทให้กับการฝึกพัฒนาแอปกันหน่อย เพราะถ้าเขียนไม่ค่อยบ่อย สิบปีถึงจะเขียนครั้งนึง (ก็เวอร์ไป) ก็จะทำให้การฝึกฝนนั้นขาดตอนไป ดังนั้นนอกจากจะลงทุนเรื่องทรัพย์สินกันแล้ว ก็ควรจะลงทุนเรื่องเวลากันด้วยนะครับ
เมื่อเตรียมพร้อมสำหรับเบื้องต้นแล้วก็มาดูกันต่อเลยว่าต้องเริ่มจากอะไรกันบ้าง
สำหรับโปรแกรมพัฒนาแอปแอนดรอยด์หลักๆ (Native Development Tools) จะมีอยู่ด้วยกัน 2 ตัวคือ Eclipse ADT และ Android Studio ซึ่งเมื่อก่อนนั้นจะใช้ Eclipse ADT กัน แต่ในภายหลังทางทีมพัฒนาได้ทำ Android Studio ออกมาให้ใช้งานกัน ซึ่งทำงานได้ดีกว่า มีประสิทธิภาพดีกว่า (แต่กินสเปคมากกว่าด้วยเช่นกัน)
เพื่อเตรียมให้พร้อมกับการเขียนโปรแกรม แต่ว่าจะยังไม่ให้เขียนโปรแกรม เพราะเจ้าของบล็อกจะให้ต่ออุปกรณ์แอนดรอยด์เข้ากับคอมพิวเตอร์ซะก่อน
อันนี้สำหรับกรณีที่มีเครื่องจริง เพราะมีผู้ที่หลงเข้ามาอ่านบางคนไม่รู้ว่าสามารถต่ออุปกรณ์แอนดรอยด์ที่มีอยู่เข้ากับคอมพิวเตอร์แล้วสามารถติดตั้งลงในเครื่องผ่านโปรแกรมได้ทันที รวมไปถึงเช็ค Log การทำงานของตัวเครื่องได้อีกด้วย จึงทำให้สามารถเช็คการทำงานและข้อผิดพลาดที่เกิดขึ้นระหว่างแอปทำงานได้
เริ่มทำงานศึกษาและฝึกฝนในการเขียนแอปพลิเคชันได้เต็มที่เลย!!!!
สำหรับเนื้อหาที่ควรศึกษาในช่วงแรกๆคือพื้นฐานภาษา Kotlin เลย (ยุคนี้แล้ว จะยังใช้ Java อยู่ทำไมล่ะ) เพราะต้องรู้โครงสร้างภาษาก่อน รวมไปถึง OOP อย่างคร่าวๆด้วย เพราะในการพัฒนาแอปจะใช้ OOP เป็นพื้นฐานเยอะมาก
เมื่อพื้นฐานพร้อมแล้ว ให้ต่อด้วยการหัดใช้งาน LogCat เพราะสิ่งนี้จะเป็นตัวช่วยให้ผู้ที่หลงเข้ามาอ่านดูการทำงานของเครื่องได้ในยามที่เขียนโปรแกรมเสร็จแล้ว
โดยเฉพาะอย่างยิ่งเวลาที่แอพทำงานอยู่แล้วเด้งแล้วปิดตัวเอง ซึ่งผู้ที่หลงเข้ามาอ่านสามารถดูสาเหตุได้ที่ Logcat นั่นเอง โดยดูการใช้งานเบื้องต้นได้ที่ Logcat พื้นฐานสำคัญที่ Android Developer ต้องรู้จัก
ให้ลองหาตัวอย่างการใช้งาน Widget พื้นฐานเช่น Button, EditText หรือ TextView ก่อน เพื่อดูว่ามีวิธีใช้งานยังไง เพราะทั้งสามตัวนี้หลักการเหมือนกัน แล้วลองศึกษา Activity Life Cycle บนแอนดรอยด์ก่อน เพื่อให้เข้าใจได้ว่าจะเขียนโค้ดไว้ที่ตรงไหน
ต่อมาให้ลองศึกษาการจัดวาง Layout เบื้องต้น พยายามทำความเข้าใจกับ Linear Layout, FrameLayout และ Constraint Layout ก่อนว่าทั้งแต่ละตัวทำงานยังไง แล้วลองจัด Layout ในรูปแบบต่างๆออกไปดู
เมื่อ Widget พื้นฐานเข้าใจแล้ว Logcat ก็ใช้เป็นแล้ว ค่อยๆพัฒนาเรียนรู้เพิ่มเติมไปเรื่อยๆ เช่น Intent, RecyclerView หรือ ImageView เป็นต้น โดยเน้นศึกษาการใช้งานแล้วทำความเข้าใจ
แล้วให้ลองเอาแต่ละเรื่องที่ศึกษามาคิดเป็นแอปง่ายๆซักตัวก่อน แล้วลองพยายามเขียนเองโดยให้ทำ Pseudocode หรือ Flowchart เพื่อลำดับความเข้าใจให้กับตัวเองก่อน จากนั้นก็ลองเริ่มเขียนด้วยตัวเอง ออกแบบ Layout ตามใจชอบ
โดยการเขียนโปรแกรมควรดูแค่โค้ดพื้นฐานการใช้งานในบางส่วนเท่านั้น ไม่แนะนำให้ไปหาตัวอย่างทั้งหมดมาใช้งานเลย เพราะมันจะทำให้ไม่เข้าใจ (เชื่อเถอะ ขนาดเตือนแบบนี้แล้วก็ยังมีคนทำอยู่)
เมื่อแอปเสร็จแล้วลองจัด Layout ให้สวยงามใส่สีแต่งเติมหน้าตาใหม่เหมาะจากนั้นจะลองทำอะไรต่อก็เชิญเลย เพราะผู้ที่หลงเข้ามาอ่านเริ่มพัฒนาแอปเป็นแล้วววว (ถ้ายังบอกว่าไม่เป็นให้กลับไปอ่านข้างบนตั้งแต่ตอนแรกซะ)