การพัฒนาแอปพลิเคชัน

0
5734

“การพัฒนาแอปพลิเคชั่น หรือซอฟต์แวร์คอมพิวเตอร์นั้น อาจทำได้โดยใช้เครื่องคอมพิวเตอร์เครื่องเดียว ทำให้สามารถเริ่มต้นได้ง่าย แตกต่างจากการพัฒนาผลิตภัณฑ์ทางวิศวกรรมอื่นๆ ที่ต้องการแรงงานและเครื่องจักรจำนวนมาก เช่น การผลิตรถยนต์ ยานพาหนะ สิ่งก่อสร้างขนาดใหญ่

อย่างไรก็ตาม แอปพลิเคชันนั้นอาจมีความซับซ้อนมาก ดังนั้นการพัฒนาแอปพลิเคชั่นที่ดีต้องมีการวางแผนการดำเนินการอย่างเป็นระบบ โดยเฉพาะอย่างยิ่งในการพัฒนาแอปพลิเคชั่นที่มีผู้ร่วมพัฒนาหลายคน ไม่เช่นนั้น อาจทำให้เกิดความล้มเหลวได้ เช่น การผลิตแอปพลิเคชั่นที่ไม่ตรงกับความต้องการของลูกค้าหรือผู้ใช้งาน ผลิตภัณฑ์มีองค์ประกอบไม่ครบตามความต้องการที่กำหนดไว้ ส่งมอบผลิตภัณฑ์ล่าช้าเกินกว่าระยะเวลาที่กำหนดไว้ มีความผิดพลาดระหว่างทำงาน รวมถึงการประเมินค่าใช้จ่ายและปริมาณทรัพยากรที่ต้องใช้คลาดเคลื่อนจากความจริงไปเป็นอย่างมาก”


การพัฒนาแอปพลิเคชัน

การพัฒนาแอปพลิเคชั่นหรือผลิตภัณฑ์ทางซอฟต์แวร์นั้น สามารถนำกระบวนการทางวิศวกรรมที่ใช้ในการพัฒนาผลิตภัณฑ์ประเภทอื่นมาประยุกต์ใช้เพื่อวางแผนการดำเนินงาน ซึ่งมีขั้นตอนทั่วไปดังนี้

  1. การศึกษาความต้องการ – แอปพลิเคชั่นถูกสร้างขึ้นตามความต้องการและเพื่อแก้ปัญหาของลูกค้าหรือผู้ใช้ ผู้พัฒนาต้องทราบความต้องการหรือปัญหาก่อนดำเนินการออกแบบ ซึ่งจะได้ข้อกำหนดที่เป็นคุณสมบัติต่างๆ ของแอปพลิเคชั่น ซึ่งเป็นขั้นตอนที่ต้องอาศัยประสบการณ์ของผู้พัฒนา เพื่อให้ได้ความต้องการของลูกค้าหรือผู้ใช้ที่แท้จริง เพราะอาจมีการสื่อสารความต้องการที่คลาดเคลื่อน
  2. การออกแบบ – เป็นหัวใจสำคัญในการพัฒนาแอปพลิเคชั่น ซึ่งค่อนข้างมีความซับซ้อนและมีรายละเอียดจำนวนมาก ต้องอาศัยแนวคิดเชิงคำนวณมาประยุกต์ใช้ในการออกแบบอย่างเป็นระบบ ผลจากการออกแบบ จะได้เป็นโครงร่างของแอปพลิเคชั่นที่มีส่วนประกอบย่อยที่มีการกำหนดหน้าที่การทำงานไว้
  3. การลงมือพัฒนา – ผู้พัฒนาหรือโปรแกรมเมอร์ (programmer) ลงมือเขียนคำสั่งในส่วนประกอบย่อยที่ได้ออกแบบไว้ ซึ่งอาจพบข้อจำกัดหรือข้อบกพร่องจากขั้นตอนการออกแบบ หรือขั้นตอนศึกษาความต้องการ จึงเป็นเรื่องปกติที่ต้องย้อนกลับไปแก้ไขการออกแบบหรือศึกษาความต้องการ
  4. การทดสอบ – เป็นการตรวจสอบคุณภาพของแอปพลิเคชั่น เพื่อค้นหาข้อผิดพลาดที่มีอยู่ระหว่างที่แอปพลิเคชั่นทำงาน และสร้างความมั่นใจแอปพลิเคชั่นทำงานได้ถูกต้องและตรงความต้องการอย่างแท้จริง หากพบข้อผิดพลาด ต้องทำการปรับปรุง แก้ไข และทดสอบซ้ำ เพื่อไม่ให้เกิดข้อผิดพลาดระหว่างการใช้งานจริง ซึ่งอาจทำให้เกิดความเสียหายอย่างรุนแรงตามมา


ซอฟต์แวร์ที่ใช้ในการพัฒนาแอปพลิเคชัน

ซอฟต์แวร์ที่ใช้ในการพัฒนาแอปพลิเคชัน เช่น Scratch, python, java, c, AppInventorเนื้อหาในหัวข้อนี้ นักเรียนจะได้เรียนรู้ว่าเครื่องมือชนิดนั้นๆ คืออะไร ใช้ทำอะไรได้บ้าง

Scratch (สะ-แครช) เป็นโปรแกรมภาษาคอมพิวเตอร์ ที่ถูกพัฒนาขึ้นเพื่อใช้งานในรูปแบบของบล็อกคำสั่ง (Block Programming) แล้วนำมาต่อกันเพื่อสร้างรหัสคำสั่ง (Code)เพื่อสั่งให้โปรแกรม Scratch ทำงานตามที่ได้เขียนโปรแกรมไว้ สามารถนำมาใช้พัฒนาซอฟต์แวร์เชิงสร้างสรรค์ เช่น ภาพเคลื่อนไหว นิทานที่สามารถโต้ตอบกับผู้อ่านได้ เกม ดนตรี และศิลปะ และเมื่อสร้างเป็นชิ้นงานแล้ว ยังสามารถนำชิ้นงานที่สร้างนี้ นำไปแสดงและแลกเปลี่ยนความคิดเห็นร่วมกับผู้อื่นได้


Python คือหนึ่งในภาษาโปรแกรมระดับสูงที่ใช้กันอย่างแพร่หลาย ถูกออกแบบเพื่อให้มีโครงสร้างและ ไวยากรณ์ของภาษาที่ไม่ซับซ้อน เข้าใจง่าย มีการใช้พัฒนาแอปพลิเคชัน เว็บไซต์ รวมถึงแอปบนมือถือหรือ อุปกรณ์เคลื่อนที่ด้วย หน้าที่ของ Python ก็คือการทำงานแปลชุดคำสั่งทีละบรรทัดเพื่อป้อนเข้าสู่หน่วยประมวลผล ให้คอมพิวเตอร์ทำงานตามที่เราต้องการ หรือเรียกว่าการทำงานแบบ Interpreter นั่นเอง ด้วยภาษาที่ง่ายในการเขียน “Python” จึงมีความเหมาะสมสำหรับผู้ที่เริ่มต้นเขียนโปรแกรมไปจนถึงนักพัฒนาในองค์กรบริษัทใหญ่ อย่างเช่น Netflix, Spotify, Google, Amazon, และ Facebook เป็นต้น


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

Programming Language C หรือ C Language (ภาษาซี) เป็นภาษาคอมพิวเตอร์ที่ใช้สำหรับพัฒนาโปรแกรมทั่วไป ถูกพัฒนาโดยเดนนิส ริสชี่ (Dennis Ritchie) เมื่อประมาณต้นปีค.ศ. 1970 เพื่อใช้งานบนระบบปฏิบัติการยูนิกส์ แทนภาษาแอสเซมบลี ซึ่งเป็นภาษาระดับต่ำที่สามารถกระทำในระบบฮาร์ดแวร์ได้ด้วยความรวดเร็ว แต่จุดอ่อนของภาษาแอซเซมบลีก็คือความยุ่งยากในการโปรแกรม ความเป็นเฉพาะตัว และความแตกต่างกันไปในแต่ละเครื่อง ต่อมาถูกนำไปใช้ในระบบปฏิบัติการต่าง ๆ จนถูกใช้เป็นภาษาพื้นฐานสำหรับภาษาอื่น เช่น ภาษาจาวา Java ภาษาพีเอชพี (PHP) ภาษาซีชาร์ป C# ภาษาซีพลัสพลัส C++ภาษาเพิร์ล (Perl) ภาษาไพทอล (Python) หรือภาษารูบี้ (Ruby) ภาษาซีเป็นภาษาเขียนโปรแกรมระบบเชิงคำสั่ง (หรือเชิงกระบวนงาน) ถูกออกแบบขึ้นเพื่อใช้แปลด้วยตัวแปลโปรแกรมแบบการเชื่อมโยงที่ตรงไปตรงมา สามารถเข้าถึงหน่วยความจำในระดับล่าง ภาษา C แม้จะเป็นภาษาระดับสูง แต่ก็สามารถใช้เป็นภาษาเครื่องได้เป็นอย่างดี


App Inventor เป็นเครื่องมือที่ใช้สำหรับสร้างแอพพลิเคชันสำหรับสมาร์ทโฟนและแท็บเล็ตที่เป็นระบบปฏิบัติการ Android ซึ่งบริษัท Google ร่วมมือกับ MIT พัฒนาโปรแกรมApp inventor ขึ้น ต่อมา Google ถอนตัวออกมาและยกให้ MIT พัฒนาต่อเอง (โดยเน้นกลุ่มผู้ใช้ด้านการศึกษามากกว่า) ในนาม MIT App inventor

App inventor ใช้หลักการคล้ายๆ กับ Scratch แต่ซับซ้อนกว่า โดยลักษณะการเขียนโปรแกรมแบบ Visual Programming  คือ เขียนโปรแกรมด้วยการต่อบล็อกคำสั่ง เน้นการออกแบบเพื่อแก้ปัญหา (problem solving) ด้วยการสร้างโปรแกรมที่ผู้เรียนสนใจ บนโทรศัพท์มือถือสมาร์ทโฟน (สมัยนี้สมาร์ทโฟนใช้กันทั่วไปอยู่แล้ว โดยเฉพาะเด็กวัยรุ่น)


อ้างอิง : 
สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2562 หน้า 3

DAYSELF, “แอพพลิเคชั่น 20 แอพยอดนิยม ต้องมีในมือถือ เพราะมีแล้วดีต่อใจ”, https://dayself.com/ สืบค้นวันที่ 16 พ.ย. 63

Amazon, “IoT คืออะไร”, https://aws.amazon.com/th/what-is/iot/ , สืบค้นวันที่ 14ต.ค. 2565

DevBun, “Internet Of Things (IoT) คืออะไร มาหาคำตอบกัน”, https://blog.sogoodweb.com/Article/Detail/59554/Internet-of-Things-(IoT)-คืออะไร-มาหาคำตอบกัน , สืบค้นวันที่ 14 ต.ค. 2565