Basic iOS Development with Swift and SwiftUI
หลักสูตร Basic iOS Development with Swift and SwiftUI เป็นการอบรมเขียนแอปบน iPhone สำหรับผู้เริ่มต้น ตั้งแต่ใช้งาน Xcode ภาษา Swift สร้างหน้าจอด้วย SwiftUI แอปหลายหน้าจอ ไปจนถึงเก็บข้อมูลด้วย SwiftData และดึงข้อมูลจาก API เหมาะกับนักศึกษาและนักพัฒนาที่เคยเขียนโปรแกรมมาบ้าง จบแล้วเขียนแอปบน iPhone ของตัวเองได้
- ໄລຍະເວລາ18 ຊົ່ວໂມງ · 3 ມື້
- ຮູບແບບຢູ່ສະຖາບັນ / ອອນລາຍສົດ
- ຮອບຕໍ່ໄປເປີດຕາມຄຳຂໍ
- ໃບຢັ້ງຢືນມີໃບຢັ້ງຢືນ
ພາບລວມຫຼັກສູດ
การเขียนแอปบน iPhone ในปัจจุบันใช้ภาษา Swift ร่วมกับ SwiftUI เป็นหลัก ซึ่งเขียนหน้าจอด้วยโค้ดที่อ่านง่าย ดูผลได้ทันทีใน Xcode และใช้แนวคิดเดียวกันได้ทั้ง iPhone และ iPad ผู้เริ่มต้นที่เคยเห็นตัวอย่าง Objective-C หรือ Storyboard รุ่นเก่ามักไม่แน่ใจว่าควรเริ่มตรงไหน หลักสูตรนี้จึงปูพื้นภาษา Swift ที่จำเป็นแล้วสร้างแอปด้วย SwiftUI ตั้งแต่หน้าจอแรก
หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ใช้ Swift 6.4, Xcode 27 และ iOS 27 พาผู้เรียนตั้งแต่ใช้งาน Xcode และรันแอปบน iPhone จริง เขียนภาษา Swift สร้างหน้าจอด้วย SwiftUI จัดการข้อมูลด้วย State, Binding และ Observable แสดงรายการ ทำแอปหลายหน้าจอด้วย NavigationStack และ TabView เก็บข้อมูลด้วย SwiftData ดึงข้อมูลจาก API และใช้รูปภาพ แผนที่ และตำแหน่ง (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Beginner)
ສິ່ງທີ່ທ່ານຈະໄດ້ຮັບ
- เข้าใจส่วนประกอบของแอป iOS และใช้งาน Xcode, Simulator และ iPhone จริงในการพัฒนาได้
- เขียนภาษา Swift พื้นฐาน ทั้งตัวแปร Optional ฟังก์ชัน Closure, struct, enum และ protocol
- สร้างหน้าจอด้วย SwiftUI และจัดการข้อมูลบนหน้าจอด้วย State และ Binding
- แสดง Alert, Dialog และ Sheet และแสดงข้อมูลแบบรายการด้วย List
- สร้างแอปหลายหน้าจอด้วย NavigationStack และ TabView พร้อมส่งข้อมูลระหว่างหน้า
- แชร์ข้อมูลทั้งแอปด้วย Observable และเก็บข้อมูลในเครื่องด้วย SwiftData
- ดึงข้อมูล JSON จาก API ด้วย URLSession, async/await และ Codable
- ใช้รูปภาพ วิดีโอ แผนที่ และตำแหน่งด้วย PhotosPicker, MapKit และ Core Location
ຫຼັກສູດນີ້ເໝາະສຳລັບ
- นักเรียน นักศึกษา ที่ต้องการเริ่มเขียนแอปบน iPhone
- นักพัฒนาภาษาอื่นที่ต้องการเริ่มพัฒนาแอป iOS ด้วย Swift
- ทีมไอทีที่ต้องการเข้าใจการพัฒนาแอป iOS แบบ Native
- ผู้สนใจทั่วไปที่เคยเขียนโปรแกรมมาบ้างและอยากสร้างแอปของตัวเอง
ພື້ນຖານຂອງຜູ້ເຂົ້າຝຶກອົບຮົມ
- เคยเขียนโปรแกรมภาษาใดภาษาหนึ่งมาบ้างเล็กน้อย ไม่จำเป็นต้องรู้ภาษา Swift มาก่อน
- ใช้งานเครื่อง Mac เบื้องต้นได้ ติดตั้งและถอนโปรแกรมได้
- ใช้อินเทอร์เน็ตและเครือข่ายพื้นฐานเป็น
- นำเครื่อง Mac ที่ติดตั้ง Xcode 27 ได้มาเอง และมี iPhone สำหรับทดสอบ (แนะนำ)
ຫົວຂໍ້ການຝຶກອົບຮົມ
รายละเอียดหลักสูตร
หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร Basic iOS Development เนื้อหาเขียนใหม่ให้ตรงกับ Swift 6.4, SwiftUI, Xcode 27 และ iOS 27 อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายสลับ Lab และ Workshop ตลอดหลักสูตร ระดับ Beginner เหมาะกับผู้ที่เคยเขียนโปรแกรมมาบ้างและต้องการเริ่มเขียนแอปบน iPhone ผู้เรียนจะได้ปูพื้นภาษา Swift สร้างหน้าจอด้วย SwiftUI ทำแอปหลายหน้าจอ เก็บข้อมูลด้วย SwiftData ดึงข้อมูลจาก API และใช้รูปภาพกับแผนที่ ก่อนรวมเป็นแอปร้านกาแฟฉบับสมบูรณ์ที่รันบน iPhone จริง พร้อมรับ Lab Guide และซอร์สโค้ดกลับไปใช้งานต่อ
Day 1 Xcode และภาษา Swift
Section 1: ส่วนประกอบของแอป iOS
- ระบบนิเวศของ Apple: iOS, iPadOS, Xcode และ App Store
- โครงสร้างแอป SwiftUI: App, Scene และ View
- แนวทางการออกแบบตาม Human Interface Guidelines
- เส้นทางจากโค้ดสู่ iPhone: Simulator, เครื่องจริง, TestFlight และ App Store
- บัญชี Apple Account กับ Apple Developer Program ต่างกันอย่างไร
Section 2: Lab: ใช้งาน Xcode 27
- ติดตั้ง Xcode และ iOS Simulator บน macOS
- สร้างโปรเจกต์แอป iOS แบบ SwiftUI และทัวร์ Navigator, Editor และ Inspector
- ดูผลทันทีด้วย Preview และการใช้ #Preview
- รันบน Simulator และ iPhone จริงด้วย Apple Account
- Lab: แอป Hello iPhone แรก
Section 3: Lab: พื้นฐานภาษา Swift
- let และ var การอนุมานชนิดข้อมูล และชนิดพื้นฐาน
- String Interpolation และการแปลงชนิดข้อมูล
- Optional, if let และ guard let
- if, switch, for-in, while และ Range
- ฝึกเขียนด้วย Swift Playground ใน Xcode
Section 4: Lab: ฟังก์ชัน, Collection และ Closure
- ฟังก์ชัน Argument Label และค่าเริ่มต้น
- Array, Dictionary และ Set
- Closure พร้อม map, filter และ sorted
- จัดการข้อผิดพลาดด้วย throws และ do-catch
- Lab: คำนวณและสรุปรายการค่าใช้จ่าย
Section 5: Lab: struct, class, enum, protocol และ async/await
- struct กับ class ต่างกันอย่างไร และเมื่อไรควรใช้
- enum พร้อม Associated Value
- protocol และ extension
- async/await เบื้องต้น และ MainActor สำหรับงานที่แก้หน้าจอ
- Lab: ออกแบบโมเดลข้อมูลของแอปตัวอย่าง
Day 2 สร้างหน้าจอด้วย SwiftUI
Section 6: Lab: View และ Layout ใน SwiftUI
- Text, Image, SF Symbols และ Button
- จัดวางด้วย VStack, HStack, ZStack และ Spacer
- Modifier สำหรับตัวอักษร สี ระยะห่าง และขนาด
- รองรับ Dark Mode, Dynamic Type และขนาดจอที่ต่างกัน
- Lab: หน้าโปรไฟล์แบบการ์ด
Section 7: Lab: State และ Binding
- SwiftUI วาดหน้าจอใหม่เมื่อข้อมูลเปลี่ยนอย่างไร
- @State สำหรับข้อมูลที่หน้าจอเป็นเจ้าของ
- TextField, Toggle, Picker, Stepper และ Slider
- @Binding สำหรับส่งข้อมูลให้หน้าจอลูกแก้ไขได้
- Lab: แอปคำนวณค่าทิปและแบ่งจ่าย
Section 8: Lab: Alert, Dialog และ Sheet
- แสดง Alert พร้อมปุ่มยืนยันและยกเลิก
- confirmationDialog สำหรับตัวเลือกหลายรายการ
- เปิดหน้าจอแบบ Sheet และ Full Screen Cover
- ปิดหน้าจอด้วย dismiss และส่งผลลัพธ์กลับ
- Lab: ฟอร์มเพิ่มรายการใน Sheet
Section 9: Lab: แสดงข้อมูลแบบรายการด้วย List
- List และ ForEach กับข้อมูลที่เป็น Identifiable
- Section, Header และรูปแบบของ List
- ลบและย้ายรายการ และ Swipe Actions
- ค้นหารายการด้วย searchable
- Lab: รายการร้านกาแฟพร้อมค้นหา
Section 10: Lab: แอปหลายหน้าจอด้วย NavigationStack และ TabView
- NavigationStack, NavigationLink และ navigationDestination
- ส่งข้อมูลไปยังหน้ารายละเอียด และตั้งชื่อหน้าด้วย navigationTitle
- ToolbarItem และปุ่มบน Navigation Bar
- แบ่งแอปเป็นแท็บหลักด้วย TabView
- Lab: แอปร้านกาแฟแบบหลายหน้าจอ
Day 3 ข้อมูล, Media, แผนที่ และแอปสมบูรณ์
Section 11: Lab: แชร์ข้อมูลทั้งแอปด้วย Observable
- สร้างโมเดลด้วย @Observable แทน ObservableObject แบบเดิม
- เก็บโมเดลด้วย @State และส่งผ่าน Environment
- @Bindable สำหรับแก้ไขข้อมูลของโมเดลในฟอร์ม
- แยกข้อมูลออกจาก View ให้โค้ดอ่านง่าย
- Lab: ตะกร้าสั่งเครื่องดื่มที่ใช้ร่วมกันหลายหน้าจอ
Section 12: Lab: เก็บข้อมูลในเครื่องด้วย SwiftData
- กำหนดโมเดลด้วย @Model
- ตั้งค่า modelContainer ให้แอป
- อ่านข้อมูลด้วย @Query พร้อมเรียงลำดับและกรอง
- เพิ่ม แก้ไข และลบข้อมูลผ่าน modelContext
- Lab: แอปจดบันทึกที่ข้อมูลยังอยู่หลังปิดแอป
Section 13: Lab: ดึงข้อมูลจาก API
- REST API และรูปแบบข้อมูล JSON
- เรียก API ด้วย URLSession และ async/await
- แปลง JSON เป็นโมเดลด้วย Codable
- แสดงสถานะโหลดและข้อผิดพลาด และโหลดรูปด้วย AsyncImage
- Lab: รายการเมนูเครื่องดื่มจาก API ตัวอย่าง
Section 14: Lab: รูปภาพ วิดีโอ แผนที่ และตำแหน่ง
- เลือกรูปจากคลังภาพด้วย PhotosPicker
- เล่นวิดีโอด้วย VideoPlayer ของ AVKit
- แสดงแผนที่ด้วย Map พร้อม Marker ใน SwiftUI
- ขอสิทธิ์และอ่านตำแหน่งปัจจุบันด้วย Core Location
- Lab: หน้าแผนที่สาขาร้านพร้อมรูปภาพ
Section 15: Workshop: แอปสมบูรณ์และการเตรียมขึ้น App Store
- รวม Navigation, SwiftData, API และแผนที่เป็นแอปเดียว
- ใส่ไอคอนแอป ชื่อแอป และสีหลักของแอป
- ทดสอบบน iPhone จริงและแก้ปัญหาที่พบบ่อย
- ภาพรวม Archive, TestFlight และ App Store Connect
- นำเสนอผลงานและแนวทางเรียนต่อ
ຮອບຝຶກອົບຮົມ ແລະ ຮູບແບບການຝຶກອົບຮົມ
ສຳລັບບຸກຄົນ — ຮອບຝຶກອົບຮົມທົ່ວໄປ
ຂະນະນີ້ຍັງບໍ່ມີຮອບຝຶກອົບຮົມເປີດຮັບສະໝັກ ລົງຊື່ຈອງໄວ້ໄດ້ເລີຍ ທີມງານຈະຕິດຕໍ່ກັບເປັນກຸ່ມທຳອິດເມື່ອເປີດຮອບຕໍ່ໄປ ຫຼື ສອບຖາມທາງ LINE ຫຼື ໂທ 02-570-8449 ຫຼື 088-807-9770
ສຳລັບອົງກອນ — In-house / Private Training
- ປັບເນື້ອໃນໃຫ້ກົງກັບເຄື່ອງມື ແລະ ວຽກຈິງຂອງທີມ
- ເລືອກວັນເອງ ຝຶກອົບຮົມທີ່ບໍລິສັດ ຫຼື ອອນລາຍສົດ
- ອອກໃບສະເໜີລາຄາໃນນາມນິຕິບຸກຄົນໃຫ້ຝ່າຍຈັດຊື້
ວິທະຍາກອນຜູ້ສອນ
ຄຳຖາມທີ່ພົບເລື້ອຍ
SwiftUI คืออะไร ใช้สร้างหน้าจอแอปอย่างไร
SwiftUI คือเฟรมเวิร์กของ Apple สำหรับสร้างหน้าจอแอปด้วยโค้ด Swift แบบ Declarative คือเขียนบอกว่าหน้าจอควรมีหน้าตาอย่างไรตามข้อมูลปัจจุบัน แล้ว SwiftUI จะวาดหน้าจอใหม่ให้เองเมื่อข้อมูลเปลี่ยน หน้าจอประกอบจาก View ย่อย เช่น Text, Image, Button และ List จัดเรียงด้วย VStack และ HStack และดูผลได้ทันทีใน Preview ของ Xcode
ส่งข้อมูลระหว่างหน้าจอใน SwiftUI ด้วย State, Binding และ Observable ทำอย่างไร
ใช้ @State ประกาศข้อมูลที่หน้าจอนั้นเป็นเจ้าของ ถ้าหน้าจอลูกต้องแก้ค่ากลับไปยังหน้าจอแม่ ให้ประกาศ @Binding ในหน้าจอลูกและส่งค่าด้วยเครื่องหมาย $ นำหน้าตัวแปร ส่วนข้อมูลที่หลายหน้าจอใช้ร่วมกัน ให้สร้างคลาสที่มี @Observable เก็บไว้ด้วย @State แล้วส่งผ่าน Environment และใช้ @Bindable เมื่อต้องการแก้ไขข้อมูลของโมเดลในฟอร์ม
SwiftData ใช้เก็บข้อมูลในแอปอย่างไร
SwiftData เป็นเฟรมเวิร์กของ Apple สำหรับเก็บข้อมูลถาวรในเครื่อง เริ่มจากใส่ @Model ให้คลาสที่ต้องการเก็บ ตั้งค่า modelContainer ให้แอป แล้วอ่านข้อมูลในหน้าจอด้วย @Query ซึ่งเรียงลำดับและกรองได้ และหน้าจอจะอัปเดตเองเมื่อข้อมูลเปลี่ยน การเพิ่ม แก้ไข และลบทำผ่าน modelContext ข้อมูลจะยังอยู่แม้ปิดแอปแล้วเปิดใหม่
เรียน Basic iOS Development ต้องเตรียมอะไรบ้าง
ผู้เรียนต้องนำเครื่อง Mac มาเอง เพราะการพัฒนาแอป iOS ใช้ Xcode ซึ่งทำงานบน Mac เท่านั้น และ Xcode 27 ต้องใช้ macOS Tahoe 26.6 ขึ้นไป แนะนำให้มี iPhone สำหรับทดสอบ ซึ่งรันแอปของตัวเองได้ด้วย Apple Account ส่วน TestFlight และการเผยแพร่บน App Store ต้องสมัคร Apple Developer Program ที่มีค่าธรรมเนียมรายปี ไม่จำเป็นต้องรู้ภาษา Swift มาก่อน
หลักสูตร Basic iOS Development with Swift and SwiftUI เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน
เหมาะกับนักเรียน นักศึกษา นักพัฒนาภาษาอื่นที่อยากเริ่มเขียนแอปบน iPhone ทีมไอที และผู้สนใจทั่วไป ผู้เรียนควรเคยเขียนโปรแกรมภาษาใดภาษาหนึ่งมาบ้างเล็กน้อย ใช้งานเครื่อง Mac เบื้องต้นได้ ติดตั้งและถอนโปรแกรมได้ และใช้อินเทอร์เน็ตเป็น หลักสูตรเริ่มจากไวยากรณ์ Swift และการใช้ Xcode ตั้งแต่พื้นฐาน
เรียนจบหลักสูตร Basic iOS Development with Swift and SwiftUI แล้วทำอะไรได้บ้าง
เขียนภาษา Swift ขั้นพื้นฐาน ใช้ Xcode สร้างแอปหน้าจอเดียวและหลายหน้าจอด้วย SwiftUI ทำ Alert, Dialog และ Sheet แสดงข้อมูลแบบรายการ ส่งข้อมูลระหว่างหน้าจอด้วย State, Binding และ Observable ใช้ NavigationStack และ TabView เก็บข้อมูลด้วย SwiftData ดึงข้อมูลจาก API ใช้รูปภาพ วิดีโอ แผนที่และตำแหน่ง และรันแอปบน iPhone จริงได้ ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้
ບົດຄວາມທີ່ກ່ຽວຂ້ອງ
ບົດຄວາມເຜີຍແຜ່ເປັນພາສາໄທ.

