ไม่เคยทำงานบริษัทซอฟแวร์จะเขียนแอพเอนดรอยได้ไหม

หลังจากที่ผมนั่งดื่มเบียร์กับเพื่อนเสร็จเรียบร้อย เดินมาเข้าห้องนอน เกิดอยากเขียนเล่าเรื่องบางอย่างเกี่ยวกับการเขียนโปรแกรม การเขียนแอพเอนดรอย




ผมได้มีโอกาศเข้ากลุ่ม facebook หลายกลุ่ม คำถามที่พบบ่อยคำถามหนึ่ง คือ "จะเริ่มเขียนแอพอย่างไรดี"  คือส่วนตัวแล้วไม่อยากตอบในกลุ่มเนื่องจาก มันมีหลายประเด็นที่ขัดกับประสบการณ์ของคนหลายคนบางคนเป็นนักพัฒนาซอฟแวร์ในบริษัทซอฟแวร์ บางคนเป็นฟรีแลนซ์ที่มีประสบการณ์สูง เพื่อหลีกเลี่ยงการเกิดดราม่าและอย่าเล่าที่มาที่ไปให้ละเอียดหน่อยว่าที่ไปที่มาของการเขียนแอพของผมเป็นอย่างไร ซึ่ง พื้นฐานของผมก่อนที่จะมาเขียนแอพ เป็นดังนี้

ก่อนที่จะมาเขียนแอพเอนดรอย ผมเริ่มต้นจาก การเขียนเว็บ ด้วย PHP มาก่อน ซึ่งผมก็ทำเว็บแบบ full Stack คือ ทำตั้งแต่ Set Server จน ถึง SEO โดยหาความรู้จากการอ่านบทความในเน็ต และ แก้ปัญหาการเขียนโปรแกรมด้วย Stack Overflow เป็นหลัก

เมื่อได้มีโอกาศเขียนแอพเอนดรอย เริ่มแรกก็ดูวิดีโอสอนการเขียนแอพ ซึ่งเป็น Video ภาษาไทย เท่านั้นเพราะผมฟังภาษาอังกฤษไม่รู้เรื่อง แต่ก็เคยพยายามอยู่บ้างแต่ไม่สำเร็จ จากนั้นผมก็เรียนรู้มาเรื่องๆ จนสามารถทำแอพ Hello World ได้

เอาหละหลังจาก Hello World ได้แล้ว ทำอย่างไรต่อหละ จากนั้นก็เริ่มคิดว่าเราจะเขียนโปรแกรมอะไรดี เราจะไม่ไปนั่งเรียน หรือฝึกฝน เพราะ Video สอน Android  ฉบับพื้นฐานที่เป็นภาษาไทยมันไม่ค่อยมี เคยเห็นมีอยู่เจ้าหนึ่ง ซึงมันก็แพงมากสำหรับ โฮมเดฟ อย่างผม จึงต้องลุยเลย เพราะไม่มีความเสี่ยงในการเขียนแน่นอน ลุยๆ ยังไงมันก็เป็นแอพ

เริ่มต้นคือคิดแอพขึ้นมาก่อนว่าจะเขียนแอพอะไรดี คิดไม่นานก็คิดออก แอพวัดพื้นที่ นั่นเอง ทำไมผมถึงทำแอพพื้นที่หนะเหรอ มันมีเหตุผลในตัวของมันคือ

  1.  ได้หัดเชื่อมต่อกับ Service ของ Google ซึ่งถ้าทำเป็นในจุนี้แล้ว เราจะสามารถเชื่อมต่อกับ Service ต่างๆ ของ Google ได้ง่ายขึ้น 
  2. ส่วนตัวอยากรู้ว่าพื้นที่บ้านของตัวเองมีขนาดเท่าไหร่ ... ถามว่าทำไม่ไม่โหลดแอพที่มีอยู่แล้วมาใช้ คำตอบคือ 
    • แอพที่มีอยู่แล้วดูแล้วงงๆ ไม่ชอบ 
    • แอพที่มีอยู่แล้วโคนา เยอะไป 
เมื่อผมเริ่มลงมือเขียนแอพ นี้ ต้องเข้าใจก่อนว่าผมไม่ได้มีความรู้เรื่องการเขียนแอพแอนดรอยมาก่อน ส่วนประกอบที่จะรวมมาเป็น แอพหนึ่งๆ มันเยอะไปหมด ดังนั้น ผมมองว่าจะสร้างแอพนี้ขึ้นมาได้ จะไม่ใช่การสร้างแอพเดียวแล้วดีเลยแนะแน่ มันจำเป็นต้องทดลองสร้าง แต่ละส่วนที่จำเป็นต้องใช่ขึ้นมาก่อนเช่น 
  • การสร้าง Polygon และ วาดลงบนแผนที่ เรื่องนี้ต้องเข้าไปอ่าน Doc ที่เป็นภาษาอังกฤษ ของเว็บ Google เองเลย เข้าใจบ้าง งง บ้าง ก็มั่วกันไป
  • การเข้าใจหลักการ life cycle  ของ แอนดรอย (ณ.ตอนนี้ก็ยังไม่เข้าใจ เพราะยังมั่วๆ แล้ว แอพไม่ตายก็โอเคร)
  • การขอ permission เพื่อเข้าถึง GPS อันนี้ตอนแรกก็งงอยู่ เนื่องจากคนที่เคยใช้ Android รุ่นเก่าๆ แค่ใส่ค่า ลงใน File AndroidManifest.xml ก็เป็นอันจบ แต่ แอนดรอยรุ่นใหม่ๆ มันต้องมีการขอเพิ่มอีกในขณะที่ แอพกำลังรัน ซึ่งเป็นเรื่องที่มือใหม่อย่างผม งง มาก แต่ก่อพอ ผ่านมันไปได้ 
  • เรื่องการนำแอพขึ้น Store ถ้าคนที่เป็นแล้วก็จะรู้สึกว่า แค่กดๆ เดียวก็อัพขึ้นได้ แต่สำหรับผมแล้ว ตอนเริ่มต้นนั้นใช้เวลาเป็นอาทิตย์ กันเลยที่เดียว เนื่องจาก มีหลายจุดที่พลาด เช่น รูปไม่ครบ ,ไม่ได้วัดเรต, ไม่รู้ต้องคลิกปุ่มไหนเมนูไหนเพื่ออัพโหลดไฟล์ apk หรือ แม้กระทั้งไม่รู้ว่า Build apk ออกมาแล้ว มันไปอยู่ตรงไหน เรื่องพวกนี้ มือใหม่ที่ไม่มีใครให้ถามก็จะงงๆ หน่อย หรืออาจเป็นเพราะผมขี้เกียจถามก็เป็นได้ เพราะ มันเสียเวลาถามไงครับ ถามไปถามมากว่าจะได้คำตอบก็ข้ามไปอีกวัน 
  • เรื่องการ Debug เป็นอีเรื่องหนึ่งที่ต้องการการทำบ่อยๆ การที่มานั่งอ่าน Log ทุกตัวอักษรเพื่อหาว่า Bug อยู่ไหนนั้นมันเป็นเรื่องที่เสียเวลา ดังนั้นประสบการณ์การหา บัค จะช่วยคุณได้ ถ้าเจอบ่อยๆ คุณก็จะ มีจิตสัมผัสมันได้ ว่า เกิดขึ้นจากอะไร  การใช้ เครื่องมือ Debug ของ Android Studio บางทีมันก็เสียเวลา นะ บางครั้ง บางครั้งการ ใช้ คำสั่ง Log มันก็จะลูกทุ่งๆ หน่อยๆ แต่ก็ รู้สึกผ่อนคลายกับมันนะ มันทำให้เรามีเวลาแอบไปเล่นเฟส หรือ ดู Youtube ได้ 

เอาหละมาถึงตอนนี้ละผมก็เริ่มนำสิ่งที่ผม ศึกษามาประกอบร่างกันเป็นโปรแกรม ให้ได้ 1 โปรแกรม มองดูไม่ยากแล้ว แต่เรื่องที่ยากและ เป็นเรื่องที่อาจทำให้หลายคนท้อแท้ ก็คือ Bug ที่หาทางแก้ไม่ได้ใน 1 วัน ซึ่งกว่าจะจับจุดได้ว่า หาบัคยังไงก็ สาหัสเหมือนกัน 

เรื่อวบัคก็ผ่านไป แอพก็ขึ้น Store แล้ว ทุกอย่า โอเคร เรามีฝีมือมากขึ้นทีนี้ ก็ต้องย้อนไปปรับพื้นฐานกันอีกที สำหรับสายลูกทุ่งอย่างผมแล้ว พื้นฐานนั้นแทบไม่มี แต่ถึงอย่างไร สุดท้ายมันต้องกลับไป หาจุดเริ่มต้น ซึ่งก็คือ พื้นฐาน 

วันหลังผมจะมานั่งเขียนบันทึกเกี่ยวกับพื้นฐานการเขียนแอพเอนดรอย กัน ว่า สายลูกทุ่งแบบผม จะเรียนพื้นฐานกับเข้ารอดไหม จะไปได้ไกลสักกี่น้ำ ลองดูๆ แต่ถ้าไม่ไหว ก็ คือไม่ไหว ก็แค่นั้น เดิหน้าทำแอพที่ทำให้มีความสุขต่อไป เจริญพร

ความคิดเห็น