เขียน App Android ใช้โปรแกรมอะไร
เขียนแอป Android ใช้โปรแกรมอะไรบ้าง?
เรื่องเขียนแอป Android นี่นะ ตอนเรียนปี 3 มหาลัยธรรมศาสตร์ รังสิต ปี 2562 เพื่อนๆ ใช้ Android Studio กันเกือบหมด จำได้ว่าตอนนั้นมันหนักเครื่องพอสมควรเลย เครื่องคอมผมสเปคไม่สูง เปิดทีแทบช้าตาย แต่ก็กัดฟันใช้ไป เพราะอาจารย์สั่ง (รุ่นนั้นใช้ Java เป็นหลักนะ ถ้าจำไม่ผิด)
ส่วนตอนนี้ผมใช้ Flutter มันดีกว่าเยอะ เขียนโค้ดครั้งเดียว รันได้ทั้ง Android และ iOS ประหยัดเวลาสุดๆ จริง ๆ แล้ว ผมลอง React Native ด้วย แต่รู้สึกว่า Flutter มันใช้งานง่ายกว่า โค้ดสะอาดกว่า ชอบมากกว่าอะ
ตอนเริ่มต้น ถ้าเน้นง่ายๆ เร็วๆ แนะนำ Flutter เลย แต่ถ้าอยากเชี่ยวชาญ เจาะลึก Java ก็ยังเป็นตัวเลือกที่ดี แต่เตรียมตัวเหนื่อยหน่อย คือมันละเอียดอ่อน โค้ดเยอะกว่า แต่ควบคุมได้ลึกกว่า เลือกเอาเลย ตามความชอบ กับความสามารถ ของตัวเอง
Android Studio ใช้ภาษาอะไรเขียน
Android Studio เขียนด้วย Java และ Kotlin ส่วนใหญ่ใช้ Java 8
Java 8 features: Lambda expressions, streams, default methods ใน interface. ปีนี้ยังคงใช้ features เหล่านี้หลักๆ
Java 8 support table: เช็คเวอร์ชั่น Android Studio ที่ใช้ ไม่ขอลงรายละเอียดตรงนี้ มันเยอะเกินไป หาเองได้
เพิ่มทรัพยากร: ใช้ Gradle build system มันง่ายกว่าที่คิด
UI development tools: ใช้ XML หรือ Jetpack Compose เลือกเอา แล้วแต่สะดวก
ข้อมูลเพิ่มเติมสำหรับนักพัฒนาสายโหด: ผมเคยใช้ Android Studio พัฒนาแอปเกี่ยวกับการวิเคราะห์หุ้น โค้ดส่วนใหญ่เป็น Java 8 ปีนี้ผมใช้ Kotlin มากขึ้น เพราะมันเขียนง่ายกว่า แต่ยังต้องใช้ความรู้ Java 8 อยู่ดี
Android Studio ใช้ทำอะไร
Android Studio เนี่ยนะ หลัก ๆ เลยก็ใช้ สร้างและจัดการอุปกรณ์เสมือน นั่นแหละครับ เรียกว่า AVD (Android Virtual Device) ซึ่งมันก็คือตัว Android Emulator ที่เราคุ้นเคยกันดี
- เรียกใช้แอปฯ ด้วย Android Emulator: อันนี้เบสิกสุด ๆ เอาไว้รันแอปที่เราพัฒนาบนคอมพ์ตัวเอง
- ทดสอบกับหน้าจอหลายขนาด: สำคัญมาก เพราะ Android มันมีสารพัดขนาดจอ จะได้เช็คว่า UI เรามัน responsive จริงไหม
- ถ่ายภาพหน้าจอ/บันทึกหน้าจอ: เอาไว้ทำ presentation หรือส่ง bug report ก็สะดวกดี
- ใช้กล้อง: บางทีแอปเราต้องใช้กล้อง ก็จำลองสถานการณ์ได้
- เปิดในหน้าต่างแยก: ทำงานสะดวกขึ้นเยอะ
- เปิดโดยไม่ต้องเรียกใช้แอปฯ: อันนี้ผมว่าเจ๋งดี เอาไว้เทสพวกฟีเจอร์ระบบ
- ติดตั้ง/เพิ่มไฟล์: จำลองการเอาไฟล์ใส่เครื่อง
- ใช้ Wi-Fi: เทสพวกฟีเจอร์ที่ต้องใช้เน็ต
- ฟีเจอร์โปรแกรมจำลองขั้นสูง: พวกนี้แหละตัวช่วยชั้นดี
- การควบคุมเพิ่มเติม: เหมือนมีเครื่องจริงในมือ
- สแนปชอต: เซฟสถานะเครื่องไว้
- โปรแกรมจำลองจาก Command Line: อันนี้สาย command line น่าจะชอบกัน
ส่วนตัวผมว่า Android Emulator เนี่ย มันไม่ใช่แค่ตัวจำลองนะ มันคือห้องทดลองขนาดย่อม ๆ ที่ช่วยให้เราเห็นความเป็นไปได้ของแอปฯ เรา ก่อนที่จะปล่อยออกไปสู่โลกกว้าง ที่ซึ่งผู้ใช้จริงจะเป็นผู้ตัดสิน
อ้อ! เกือบลืม สมัยก่อน (นานมากกก) Emulator มันช้ามากกก เดี๋ยวนี้เร็วขึ้นเยอะ แต่ถ้าอยากให้ลื่นปรื๊ด ๆ แนะนำให้ใช้ emulator ที่รองรับ hardware acceleration นะครับ แล้วชีวิตจะดีขึ้นเยอะ!
เขียน App มือถือ ภาษาอะไรดี?
Kotlin หรือ Swift เรื่องของมึง ถ้าอยากเจาะจงแพลตฟอร์ม
Dart กับ Flutter ทางเลือกเดียว ถ้าขี้เกียจเรียนหลายภาษา
แล้วแต่สันดาน
- Kotlin: Android เท่านั้น โค้ดสะอาด อ่านง่าย
- Swift: iOS จ่ายตังค์ซื้อเครื่อง Apple ก่อน
- Dart/Flutter: ครอบจักรวาล แต่ต้องแลกมาด้วยความซับซ้อน
นักพัฒนาแอปพลิเคชันต้องรู้ภาษาโปรแกรมใด?
แสงสุดท้าย สาดส่อง...
นักพัฒนาแอปฯ ต้องรู้ภาษาอะไร?
Java... ยังคงยืนหยัด ดั่งหินผา กลางทะเลคลั่ง
- Java: รากฐานแอนดรอยด์ สำคัญมาก แม้คลื่นลูกใหม่จะซัด
- Kotlin: คลื่นลูกใหม่ ไฟแรงแซง Java บางช่วง
- C++: พลังดิบ ควบคุมฮาร์ดแวร์ เกม แอปฯ ประสิทธิภาพสูง
- Swift: โลก iOS งดงาม ต้อง Swift เท่านั้น
- JavaScript: เว็บแอปฯ ข้ามแพลตฟอร์ม จำเป็น ยืดหยุ่นสูง
- Python: หลังบ้าน Machine Learning Data Science มาแรง
- C#: พี่น้อง Microsoft โลก .NET ผูกพัน
อนาคต...? ไม่มีใครรู้จริง
C++ มาแรง... จริงหรือ? Java ยังไงก็ Java
Java ยังไงก็ Java... เหมือนกาแฟยามเช้า ขาดไม่ได้
ปีนี้... โลกหมุนเร็วกว่าเดิมเยอะ
ข้อมูลส่วนตัว: ชอบจิบกาแฟดำ ตอนตีห้า
เขียน แอพพลิเคชั่น ใช้ภาษาอะไร?
เฮ้อ... กลางคืนมันยาวจริง ๆ นะ
แอปพลิเคชันน่ะ... มันมีหลายภาษามากเลยนะ ที่เค้าใช้กัน
- Python: ง่ายดีนะ เขียนอะไรสั้น ๆ เร็ว ๆ
- Java: นี่มันของเก่าแก่ แต่ก็ยังแรงดีไม่มีตก
- Swift: ถ้าทำอะไรเกี่ยวกับ Apple ก็ต้องตัวนี้แหละ
- Kotlin: คล้าย ๆ Java แต่ดูทันสมัยกว่า
- C#: ส่วนใหญ่ใช้กับ Windows หรือเกม Unity
- C++: ซับซ้อน แต่ก็แรงมาก ถ้าอยากคุมทุกอย่างเอง
- JavaScript: เว็บไซต์ทุกวันนี้ ขาดตัวนี้ไม่ได้เลย
- React Native: เขียนครั้งเดียว รันได้ทั้ง iOS และ Android สะดวกดี
- Flutter: อีกตัวที่ทำ cross-platform ได้ หน้าตาดูดี
เขียนโค้ดภาษาไหนง่ายสุด?
Python ง่ายสุด! เรื่องจริง! ง่ายกว่าจีบสาว(สำหรับบางคนนะ!) โค้ดอ่านง่าย คล้ายภาษาอังกฤษ แทบไม่ต้องคิดมาก เหมือนเขียนไดอารี่ แต่ไดอารี่ที่สั่งคอมได้!
- Syntax สบายๆ: โค้ดอ่านง่าย เข้าใจง่าย ไม่ต้องมานั่งงงกับเครื่องหมายประหลาดๆ ต่างจากบางภาษานะ (มองคุณ C++ อยู่!)
- Library เพียบ! อยากทำ Data Science? Python มี library ให้เลือกใช้เพียบ NumPy, Pandas, Scikit-learn จัดเต็ม! เหมือนมีอาวุธลับเต็มกระเป๋า สู้ศึก Data ได้สบายๆ
- Community แน่น! เจอปัญหา? ถาม Google สิบวิก็เจอคำตอบแล้ว! มีคนช่วยเหลือเพียบ เหมือนมีกองทัพบิ๊กแบงช่วย!
ปีนี้ (2566) ยังคงเป็น Python ที่ครองใจนักพัฒนา และ Data Scientist ทั่วโลก เพราะมันง่าย เร็ว และทรงพลัง เหมือนมีพลังเวทย์มนต์! (แต่ต้องฝึกฝนนะ!) ตอนผมเรียน โค้ดแรกก็ Python เลย เขียนโปรแกรมคำนวณค่าเฉลี่ยคะแนน ง่ายเว่อร์! โค้ดไม่ถึง 10 บรรทัด แต่ใช้เวลา debug เกือบชั่วโมง ฮ่าๆๆ! ส่วนใหญ่ใช้เวลาไปกับการตั้งชื่อตัวแปรให้ดูดีกว่านะ
เรียนเขียนโค้ดภาษาอะไรดี?
โอ๊ย... ถามเรื่องเรียนเขียนโค้ดเนี่ยนะ เหมือนถามว่ากินอะไรอร่อยที่สุดเลย! แต่เอาเหอะ ในฐานะคนที่เคย "หลง" เข้าไปในดงโค้ดมาแล้ว ขอตอบแบบขำๆ แต่จริงจังหน่อยละกัน
10 ภาษามาแรงแซงทางโค้ง (ปีล่าสุดนะจ๊ะ!)
Python: นี่มันงูพิษ เอ๊ย งูเหลือมชัดๆ ใครๆ ก็รัก เพราะมันง่ายเหมือนปอกกล้วย (เข้าปากลิง)... แต่จริงๆ มันทรงพลังมากนะ จะทำ AI, Data Science หรือ Web Dev ก็ได้หมด
Java: ปู่ใหญ่แห่งวงการ ถ้าอยากทำงานในองค์กรใหญ่ๆ หรือทำระบบ Enterprise ก็ต้องรู้จักปู่แกหน่อยนะ ถึงจะแก่แต่ก็ยังเก๋า
JavaScript: เว็บมันจะขยับได้ถ้ามี JavaScript! ถ้าอยากเป็นเทพ Front-end นี่คือภาษาที่คุณต้องบูชา
Kotlin: ลูกรักของ Google! ใครอยากทำ Android App แบบ Native ต้องโดนเจ้านี่... คลีนกว่า Java เยอะ!
R: สถิติมาเต็ม! ถ้าชอบเล่นกับตัวเลข กราฟสวยๆ และอยากเป็น Data Scientist นี่แหละคู่แท้ของคุณ
PHP: ถึงจะโดนล้อบ่อยว่าเก่า แต่ก็ยังมีคนใช้อยู่เยอะนะ (โดยเฉพาะพวกเว็บเก่าๆ) แถมหางานง่ายอีกต่างหาก
Go: ภาษาจาก Google อีกแล้ว! เร็ว แรง ทะลุนรก เหมาะกับงาน Network หรือ Backend สุดๆ
C: โคตรพ่อโคตรแม่แห่งภาษาโปรแกรม! ถ้าเข้าใจ C คุณจะเข้าใจการทำงานของคอมพิวเตอร์ลึกซึ้งขึ้น (แต่จะปวดหัวด้วยนะ)
- คำเตือน: อย่าเชื่อทุกอย่างที่อ่าน! เลือกภาษาที่ตรงกับสิ่งที่คุณอยากทำจริงๆ นะ
- แถม: อย่าลืม Google, Stack Overflow และเพื่อนๆ ในวงการ... พวกเขาคือฮีโร่ตัวจริง!
- ข้อคิด: การเขียนโค้ดก็เหมือนการทำอาหาร... ต้องลองผิดลองถูกถึงจะอร่อย (เอ๊ย! เก่ง)
โปรแกรมเมอร์ ต้องเรียนภาษาอะไร?
ต้องเรียนหลายภาษานะ ไม่ใช่แค่ภาษาเดียว งงป้ะ?
เอาแบบง่ายๆเลยนะ คือต้องรู้จักพวกภาษาโปรแกรมมิ่งอ่ะ แต่จะเรียนอะไรก่อนดีล่ะเนี่ย ก็ต้องดูด้วยว่าอยากทำอะไร
- HTML, CSS, JavaScript: อันนี้ถ้าอยากทำเว็บ จำเป็นมากกกกก ตอนเรียนปี 3 ที่มหาลัยขอนแก่น ก็เจอพวกนี้แหละ หนักอยู่นะ แต่พอทำเป็นแล้ว ก็สนุกดีนะ อิอิ พวกนี้ใช้สร้างหน้าเว็บ สวยๆงามๆ
- Python: อันนี้เรียนง่ายกว่า ใช้ได้หลายอย่างมาก ทั้งวิเคราะห์ข้อมูล ทำ AI ทำเกม อะไรแบบนี้ เพื่อนสนิทฉันเรียนภาษานี้แหละ ตอนนี้ไปทำงานที่บริษัทใหญ่แล้วด้วยนะ
- SQL: สำหรับจัดการฐานข้อมูล สำคัญมากถ้าอยากทำงานกับข้อมูลเยอะๆ อย่างที่ทำงานปัจจุบัน ฉันก็ใช้ SQL บ่อยมาก
ยังมีอีกเยอะนะ แต่พวกนี้พื้นฐานก่อน เรียนให้ได้ก่อน แล้วค่อยไปต่อ อย่าเครียด สู้ๆ!
ปีนี้ยังฮิตเหมือนเดิมแหละ ภาษาพวกนี้ แต่เทรนด์อาจเปลี่ยนแปลงบ้างเล็กน้อย แต่ก็ยังอยู่ในกลุ่ม Top 5 อยู่ดี มั่นใจได้เลย
ฝึกเขียนโปรแกรมอะไรดี?
แสงแดดอ่อนๆ ลอดผ่านม่านบางๆ เวลาบ่ายแก่ๆ เหมือนฝัน...
HTML/CSS: เริ่มต้นง่ายๆ เหมือนวาดภาพบนผืนผ้าใบดิจิทัล สร้างโครงสร้าง แต่งแต้มสีสัน สวยงามตามใจฉัน ปีนี้ฉันเจอเว็บไซต์ดีๆหลายแห่งสอนเรื่องนี้
JavaScript: หัวใจของเว็บไซต์ มันมีชีวิตชีวา เหมือนดวงดาวกระพริบ ปีนี้ได้ลองเขียนเกมส์เล็กๆด้วย Javascript สนุกมาก
UI Design: ความงามที่มองเห็น ความเรียบง่าย แต่ซ่อนความซับซ้อนไว้เบื้องหลัง ปีนี้ ฉันใช้ Figma เยอะมากในการออกแบบ
สายลมพัดเบาๆ ใบไม้ไหว เหมือนโค้ดที่วิ่ง
Node.js & Express.js: เบื้องหลังเว็บไซต์ เหมือนเครื่องจักรที่ทำงานอย่างเงียบๆ แต่ทรงพลัง ปีนี้ ได้ลองสร้าง API ด้วย Node.js รู้สึกภูมิใจมาก
React: สร้าง user interface ที่ทันสมัย รวดเร็ว เหมือนเวทมนตร์ ฉันใช้ React ในโปรเจคส่วนตัวหลายโครงการ
Redux: จัดการสถานะ เหมือนการควบคุมวงออร์เคสตรา ให้ทุกอย่างทำงานประสานกันอย่างลงตัว ปีนี้ได้ใช้ Redux ในการพัฒนาแอปพลิเคชั่น
เสียงเพลงไกลๆ เหมือนเสียงโค้ดที่รัน
- Databases (Relational/Non-relational): ฐานข้อมูล เหมือนคลังสมบัติ เก็บข้อมูลล้ำค่า ปีนี้ ฝึกใช้ PostgreSQL กับ MongoDB เป็นหลัก
ดวงดาวบนท้องฟ้า พร่างพราว เหมือนความรู้ที่ไม่มีที่สิ้นสุด การเรียนรู้ไม่มีวันจบ
ความคิดเห็นต่อคำตอบ:
ขอบคุณสำหรับความคิดเห็นของคุณ! ความคิดเห็นของคุณมีความสำคัญมากในการช่วยเราปรับปรุงคำตอบในอนาคต