ใช้คอมเก่ากับ Windows 7 ก็ติดตั้งโปรแกรมสร้างโมบายแอพได้
ทุกวันนี้การสร้างแอปมือถือดูเหมือนเป็นเรื่องของคอมพิวเตอร์รุ่นใหม่ ระบบปฏิบัติการรุ่นใหม่ และโปรแกรมรุ่นใหม่ทั้งหมด แต่ในความเป็นจริง หากเรามีคอมพิวเตอร์เก่าที่เป็น Windows 7 ก็ยังสามารถเรียนรู้และสร้างแอป Android ได้ เพียงแต่ต้องยอมรับข้อจำกัดของเครื่อง และที่สำคัญที่สุดคือ ต้องเลือกเวอร์ชันของเครื่องมือให้เข้ากัน
บทความนี้ไม่ได้ตั้งใจบอกว่า Windows 7 เป็นระบบที่เหมาะกับการพัฒนาแอปในปัจจุบัน ตรงกันข้าม Windows 7 เป็นระบบปฏิบัติการที่เก่ามากและไม่ได้รับการสนับสนุนจาก เครื่องมือรุ่นใหม่จำนวนมากแล้ว แต่บทความนี้ต้องการบันทึกว่า ถ้าเรามีคอมเก่าอยู่แล้ว เราไม่จำเป็นต้องยอมแพ้ต่อความฝันในการสร้างแอป เพราะยังมีวิธีเลือกชุดซอฟต์แวร์รุ่นเก่าที่ทำงานร่วมกันได้
1. ก่อนเริ่มสร้างแอป ต้องรู้อะไรบ้าง?
ความรู้ด้านภาษาโปรแกรม
หากตั้งใจใช้ Flutter สิ่งสำคัญที่สุดคือภาษา Dart ซึ่งเป็นภาษาที่ Flutter ใช้ในการเขียนโปรแกรม ไม่จำเป็นต้องเป็นผู้เชี่ยวชาญตั้งแต่วันแรก แต่ควรเข้าใจพื้นฐานต่อไปนี้
- ตัวแปรและชนิดข้อมูล
- การคำนวณและตัวดำเนินการ
if / else
for และ while
- ฟังก์ชัน
- List และ Map
- Class และ Object
- การรับเหตุการณ์จากผู้ใช้ เช่น การกดปุ่ม
- การทำงานแบบ asynchronous เช่น การเรียกข้อมูลจากอินเทอร์เน็ต
เมื่อเข้าใจพื้นฐานเหล่านี้แล้ว จึงค่อยเรียนรู้สิ่งที่เป็นเอกลักษณ์ของ Flutter
เช่น Widget, State, Layout, Navigation และการเชื่อมต่อ API
ส่วนประกอบของฮาร์ดแวร์
| ส่วนประกอบ |
ข้อแนะนำ |
| CPU |
ควรเป็นเครื่อง 64-bit หากต้องการใช้ Flutter รุ่น 3.7.12
|
| RAM |
4 GB ยังสามารถใช้เรียนรู้และพัฒนาโปรแกรมพื้นฐานได้
แต่ 8 GB ขึ้นไปจะสะดวกกว่า
|
| พื้นที่ดิสก์ |
ต้องเผื่อพื้นที่สำหรับ Flutter, Android Studio,
Android SDK และโปรเจกต์
|
| โทรศัพท์ Android |
แนะนำให้ใช้โทรศัพท์ Android จริงสำหรับทดสอบ
แทนการเปิด Android Emulator บนคอมเก่า
|
| USB |
ต้องมีสาย USB ที่สามารถส่งข้อมูลได้
หากต้องการทดสอบกับโทรศัพท์จริง
|
โดยเฉพาะคอมพิวเตอร์ RAM น้อย การใช้โทรศัพท์จริงเป็นอุปกรณ์ทดสอบ จะช่วยลดภาระของเครื่องได้มาก เพราะ Android Emulator สามารถใช้ทรัพยากร CPU และ RAM จำนวนมาก
2. โปรแกรมทั้งหมดที่ต้องใช้ และแต่ละตัวทำหน้าที่อะไร?
| ซอฟต์แวร์ |
เวอร์ชันในการทดลอง |
หน้าที่ |
จำเป็นหรือไม่ |
| Flutter SDK |
3.7.12 |
เครื่องมือหลักสำหรับสร้างแอปหลายแพลตฟอร์ม
และมี Dart SDK รวมอยู่ด้วย |
จำเป็น |
| Dart |
2.19.6 |
ภาษาโปรแกรมของ Flutter |
จำเป็น |
| Android Studio |
Dolphin 2021.3.1 |
IDE และเครื่องมือจัดการ Android SDK |
จำเป็นสำหรับชุดติดตั้งนี้ |
| JDK |
17 |
Java Development Kit สำหรับเครื่องมือ Android
และกระบวนการ build |
จำเป็น |
| Android SDK Command-line Tools |
8.0 |
เครื่องมือจัดการ SDK |
จำเป็น |
| Android SDK Platform |
API 34 |
ชุด Android API สำหรับใช้ในการ compile แอป |
จำเป็น |
| Android SDK Platform-Tools |
34.0.4 |
มี adb.exe สำหรับสื่อสารระหว่างคอมพิวเตอร์กับอุปกรณ์ Android |
จำเป็น |
| Visual Studio Code |
1.70.3 |
โปรแกรมแก้ไขโค้ดที่ใช้เขียน Flutter |
ไม่จำเป็น แต่แนะนำ |
| Git for Windows |
2.46.2 (64-bit) |
Version control และทำงานกับ GitHub/GitLab |
ไม่จำเป็น แต่แนะนำ |
โปรแกรมไหน "จำเป็น" และโปรแกรมไหนเป็นเพียง "เครื่องมือช่วย"?
สิ่งที่ควรทำความเข้าใจตั้งแต่ต้นคือ โปรแกรมทุกตัวที่ติดตั้งไว้ ไม่ได้มีความจำเป็นต่อการสร้างแอปในระดับเดียวกัน บางโปรแกรมเป็นส่วนประกอบของระบบ Android และ Flutter โดยตรง ในขณะที่บางโปรแกรมเป็นเพียงเครื่องมือที่ช่วยให้เราทำงานสะดวกขึ้น
ตัวอย่างที่เห็นได้ชัดคือ Android Studio กับ
Visual Studio Code แม้ว่าทั้งสองโปรแกรมจะสามารถใช้เปิด
และแก้ไขโค้ดได้ แต่บทบาทของทั้งสองโปรแกรมในชุดเครื่องมือนี้แตกต่างกัน
Android Studio เป็นชุดเครื่องมือสำหรับการพัฒนา Android โดยตรง นอกจากใช้เป็น IDE แล้ว ยังมี Android SDK Manager สำหรับติดตั้งและจัดการ Android SDK, SDK Platform, Build-Tools, Platform-Tools และส่วนประกอบอื่น ๆ ของ Android
ในการติดตั้ง Flutter บน Windows 7 ที่อธิบายในบทความนี้
Android Studio จึงมีบทบาทสำคัญในการเตรียมสภาพแวดล้อมของ Android
แม้ว่าในภายหลังเราจะเลือกใช้ VS Code เป็นโปรแกรมหลักสำหรับเขียนโค้ดที่เร็วกว่าก็ตาม
ส่วน Visual Studio Code (VS Code) เป็นโปรแกรมแก้ไขโค้ด หรือ code editor ที่มีขนาดค่อนข้างเบา สามารถติดตั้งส่วนเสริม (extensions) สำหรับ Flutter และ Dart เพื่อช่วยเขียนโปรแกรมได้สะดวก
ดังนั้นในการใช้งานจริง เราสามารถมีทั้งสองโปรแกรมอยู่ในเครื่องเดียวกัน
โดยให้แต่ละโปรแกรมทำหน้าที่ต่างกัน และไม่ต้องเปิดทั้งสองโปรแกรมพร้อมกันตลอดเวลา
ข้อควรเข้าใจ
Flutter ไม่ได้บังคับว่าต้องใช้ Visual Studio Code
นักพัฒนาสามารถใช้ editor หรือ IDE อื่นได้
แต่ในประสบการณ์นี้เลือกใช้ VS Code 1.70.3
เพราะเป็นโปรแกรมที่เหมาะกับคอมพิวเตอร์รุ่นเก่าและเพียงพอสำหรับการเขียน Flutter
Git — ไม่จำเป็นต่อการสร้างแอป แต่ควรมีสำหรับงานพัฒนาจริง
Git คือระบบ Version Control
หรือระบบจัดการประวัติการเปลี่ยนแปลงของ source code หน้าที่ของมันคือช่วยให้เรารู้ว่าไฟล์ถูกแก้ไขอะไรไปบ้าง สามารถย้อนกลับไปดูเวอร์ชันก่อนหน้า และช่วยจัดการ source code เมื่อโปรเจกต์มีขนาดใหญ่ขึ้น
หากเรามี Flutter SDK, Android SDK และเครื่องมือที่เกี่ยวข้องพร้อมแล้ว
เราสามารถสร้างและ build แอปได้โดยไม่ต้องมี Git
แต่เมื่อเราเริ่มทำโปรเจกต์จริง source code จะมีการแก้ไขอยู่ตลอดเวลา
วันนี้เราอาจแก้โปรแกรมแล้วทำงานได้ดี แต่วันพรุ่งนี้อาจแก้บางอย่างแล้วเกิดปัญหา
Git ช่วยให้เราบันทึกประวัติของการเปลี่ยนแปลงเหล่านั้น และสามารถย้อนกลับไปยังสถานะก่อนหน้าได้
Git ยังมีประโยชน์เมื่อต้องการเก็บ source code ไว้บนบริการต่าง ๆ
เช่น GitHub หรือ GitLab หรือเมื่อต้องทำงานร่วมกับผู้อื่น
ทดสอบว่า Git ติดตั้งแล้วหรือไม่
หลังติดตั้ง Git for Windows สามารถตรวจสอบจาก Command Prompt ได้ด้วย:
หากติดตั้งเรียบร้อย จะเห็นหมายเลขเวอร์ชันของ Git ตัวอย่างเช่น:
git version 2.46.2.windows.1
สำหรับผู้ที่เพิ่งเริ่มเรียน Flutter อาจยังไม่ต้องเรียน Git อย่างละเอียด
เพียงเข้าใจหน้าที่ของมันและติดตั้งไว้ก่อนก็ได้ เมื่อเริ่มทำโปรเจกต์จริงจึงค่อยเรียนรู้คำสั่ง Git เพิ่มทีละขั้น
3. ติดตั้ง Flutter SDK
ในการทดลองนี้เลือก Flutter 3.7.12 ซึ่งเป็นรุ่น Stable และเป็นรุ่นที่มีอยู่ใน Flutter SDK Archive โดยมาพร้อม Dart SDK 2.19.6
ดาวน์โหลดจาก Flutter SDK Archive .zip file แล้วแตกไฟล์ไว้ใน folder C:\src\ จะได้ C:\src\flutter
** ไม่ควรแตกไว้ใน C:\Program Files\ เพราะ Windows อาจจำกัดการเขียนโค้ดเพิ่ม
และอย่าลืมเก็บ .zip file ไว้ backup ในที่ปลอดภัย เช่น
D:\Software Archive\Flutter\flutter_windows_3.7.12-stable.zip
หรือใน external hard drive เผื่อเวลาเวลาโปรแกรมรวนจะได้ดิดตั้งใหม่ได้เลย ไม่ต้องหาไฟล์อีก
จากนั้นเพิ่มโฟลเดอร์ต่อไปนี้เข้าใน Windows PATH โดย
- Click Start
- Right-click Computer
- Click Properties
- Click Advanced system settings
- Click Environment Variables... (ปุ่มที่อยู่ด้านล่าง)
จะเห็น 2 sections คือ User variables กับ System variables เราจะดัดแปลงเฉพาะ User variables
คลิก PATH แล้ว คลิกปุ่ม Edit... จะมีหน้าจอ Edit User Variable โผล่ขึ้นมา
ที่ช่อง Variable value ให้เพิ่มข้อความข้างล่าง ลงไปท้ายสุดของช่อง เพื่อให้ Windows รู้ว่า Flutter อยู่ที่ไหน
แล้ว Click OK
จากนั้นลองทดสอบด้วย Command Prompt: โดยไปที่ Start พิมพ์คำว่า cmd แล้ว Enter
ในช่อง command prompt ให้พิมพ์ข้อความข้างล่างนี้ แล้วกด Enter
ควรเห็น Flutter 3.7.12 และ Dart 2.19.6 เป็นคำตอบ (เครื่องเก่าจะช้า อาจต้องรอเกือบ 1 นาที)
4. ติดตั้ง Android Studio รุ่นที่เข้ากับเครื่องเก่า
ในการทดลองนี้ใช้ Android Studio Dolphin 2021.3.1 ซึ่งเป็น Android Studio รุ่นเก่าที่สามารถใช้ร่วมกับชุดเครื่องมือในบทความนี้ได้ และมาพร้อมกับ Android SDK ที่สำคัญควรดาวน์โหลดจาก official website ของ Google เท่านั้น
หากเครื่องคอมพิวเตอร์ RAM < 8 GB ให้ติดตั้งแบบ Custom คือเลือกติ๊กเฉพาะ Android SDK กับ Android SDK Platform พอติดตั้งทั้งหมดเสร็จ Click Finish
5. ติดตั้ง Android SDK Command-line Tools
Android Studio รุ่นเก่าบางรุ่นมาพร้อม Java Runtime ของตัวเอง แต่เครื่องมือบางตัวที่ Flutter เรียกใช้ อาจต้องการ Java รุ่นใหม่กว่า
ในการทดลองนี้ เมื่อเรียก
flutter doctor --android-licenses
ระบบแจ้งว่า
Java version 17 or higher is required
ดังนั้นจึงต้องติดตั้ง JDK 17 และทำให้ Command Prompt
สามารถเรียกคำสั่ง java ได้ หรือ Downgrade Android SDK Command-line Tools to a version compatible with Java 11.0.3
เราเลือกอย่างหลัง เพราะไม่อยากดาวน์โหลดอะไรเพิ่มอีก
วิธีการ: เปิด Android Studio → More Actions → SDK Manager → SDK Tools แล้วเปิดตัวเลือก Show Package Details
ในการทดลองนี้เลือก Android SDK Command-line Tools 8.0 คลิก Apply
ทดสอบด้วย:
"C:\Program Files\Android\Android Studio\jre\bin\java.exe" -version
จะได้ openjdk version "11.0.13"
หากใครเลือกที่จะดาวน์โหลด JDK 17 พอติดตั้งแล้วสามารถทดสอบด้วย:
หากคำสั่งนี้ทำงานได้ จึงค่อยดำเนินการยอมรับ Android SDK licenses
6. ยอมรับ Android SDK Licenses
เปิด Command Prompt แล้วใช้:
flutter doctor --android-licenses
ระบบจะแสดงข้อตกลงหลายรายการ ให้ตอบ y ตามขั้นตอนจนหมด
เมื่อติดตั้งถูกต้อง ควรจบลงโดยไม่มีปัญหาเรื่อง Android licenses
7. ติดตั้ง Android SDK Platform
ตอนแรก Android SDK Manager ติดตั้ง Platform-Tools รุ่นใหม่
ซึ่งมี adb.exe รุ่น 37.x
เมื่อทดลองเรียก:
Windows 7 แสดงข้อความ:
The procedure entry point GetSystemTimePreciseAsFileTime
could not be located in the dynamic link library KERNEL32.dll.
นี่แสดงว่า adb.exe รุ่นนั้นเรียกใช้ API ที่ Windows 7 ไม่มี
วิธีแก้: ไปที่ Android Studio → SDK Manager → SDK Platforms
ในกรณีทดลองนี้ Platform-Tools 34.0.4 เป็นรุ่นที่ทดสอบแล้วว่าสามารถทำงานบน Windows 7 เครื่องนี้ได้
ก่อนเปลี่ยนไฟล์ ไม่ควรลบของเดิมทิ้ง ให้เปลี่ยนชื่อโฟลเดอร์เดิมเพื่อเก็บไว้เป็น backup เช่น
C:\Users\ชื่อคุณ\AppData\Local\Android\Sdk\platform-tools
→
C:\Users\ชื่อคุณ\AppData\Local\Android\Sdk\platform-tools-37.0.1
จากนั้นคลิก Platform-Tools 34.0.4 → Apply
หลังติดตั้งควรพบโฟลเดอร์
C:\Users\ชื่อคุณ\AppData\Local\Android\Sdk\platforms\android-34
จากนั้นไปที่
C:\Users\ชื่อคุณ\AppData\Local\Android\Sdk\platform-tools
ภายในควรมีไฟล์สำคัญ เช่น
adb.exe
fastboot.exe
AdbWinApi.dll
AdbWinUsbApi.dll
ทดสอบ adb.exe ก่อน โดยเปิด Command Prompt และเข้าไปยังโฟลเดอร์ Platform-Tools:
cd C:\Users\kom\AppData\Local\Android\Sdk\platform-tools
จากนั้น:
ผลที่ได้จากการทดลองคือ:
Android Debug Bridge version 1.0.41
Version 34.0.4-10411341
Running on Windows 6.1.7601
8. ทดสอบ ADB Server
ต่อไปทดสอบ:
จากนั้น:
หากยังไม่ได้เสียบโทรศัพท์ Android ผลอาจเป็น:
List of devices attached
ไม่มีชื่ออุปกรณ์อยู่ด้านล่างก็ไม่ใช่ความผิดพลาด
เพราะหมายถึงขณะนั้นยังไม่มี Android device เชื่อมต่ออยู่
9. ทดสอบทั้งหมดด้วย flutter doctor
เมื่อทุกอย่างติดตั้งแล้ว ให้ใช้:
ในการทดลองนี้ Flutter ตรวจพบ:
- Flutter
- Android toolchain
- Chrome
- Android Studio
- Visual Studio Code
- Connected devices
- HTTP Host Availability
โดยมีคำเตือนเกี่ยวกับ Windows Version และ Visual Studio
ซึ่งต้องแยกทำความเข้าใจ
10. ต้องติดตั้ง Visual Studio หรือไม่?
หากเป้าหมายคือการสร้าง Android application
ไม่จำเป็นต้องติดตั้ง Visual Studio เพียงเพราะ
flutter doctor แสดงเครื่องหมายกากบาท
Visual Studio มีความเกี่ยวข้องกับการพัฒนา Flutter สำหรับ
Windows desktop
ซึ่งเป็นคนละเป้าหมายกับการสร้าง Android app
ถ้าต้องการสร้าง Android app อย่างเดียว
ให้ความสำคัญกับ Android toolchain
เป็นหลัก
11. ทำไมจึงไม่ควรเปิด Android Emulator บนคอมเก่า?
Android Emulator สะดวกมากสำหรับคอมพิวเตอร์ที่มีทรัพยากรเพียงพอ
แต่สำหรับคอมพิวเตอร์เก่าที่มี RAM จำกัด
การใช้โทรศัพท์ Android จริงอาจเหมาะกว่า
แนวคิดคือ:
- เขียนโปรแกรมบนคอมพิวเตอร์
- เสียบโทรศัพท์ Android ผ่าน USB
- เปิด Developer Options
- เปิด USB debugging
- ให้
adb ตรวจพบโทรศัพท์
- ให้ Flutter ติดตั้งและเปิดแอปบนโทรศัพท์
วิธีนี้ช่วยลดภาระของ CPU และ RAM ของคอมพิวเตอร์เก่าได้มาก