This post is part of a series called Swift From Scratch. Show
Thai (ภาษาไทย) translation by Anak Mirasing (you can also view the original English article) ถ้าคุณกำลังอ่านบทความนี้อยู่, คุณอาจมีโอกาสที่จะได้รู้จักภาษาใหม่ที่ชื่อว่า Swift. Apple นั้นได้ทำการปล่อย Swift ในช่วงของงาน WWDC สำหรับนักพัฒนาและทุกคนก็ได้ตื่นเต้นกับมัน. สิ่งที่นักพัฒนาส่วนใหญ่นั้นคาดหวังสำหรับภาษาในการเขียนโปรแกรมใหม่ๆ นั้นคือพลังสำหรับการพัฒนาแอพพลิเคชั่นสำหรับแพลตฟอร์ม iOS และ OSX. คุณอาจจะคุ้นเคยกับ Swift ถ้าคุณเคยพัฒนาแอพพลิเคชั่นบน iOS หรือ OSX ด้วยภาษา Objective-C,
แต่ถึงแม้กระนั้นก็ยังมีบางส่วนสำคัญที่มีความแตกต่าง. นอกจากนี้คุณยังอาจจะคุ้นเคยกับ Swift ที่มีไวยกรณ์ที่ดีและทันสมัย. เราทำบทความนี้ขึ้นมาเพื่อที่จะแสดงให้เห็นถึงความแตกต่างระหว่าง Swift และ Objective-C โดยความแตกต่างเหล่านี้เป็นสิ่งที่ดี. เรามาเริ่มกันเลย. 1. ข้อกำหนดเบื้องต้นการเขียนโปรแกรมในบทความทั้งหมดนี้, เราจะมีการอ้างถึงภาษา Objective-C และเปรียบเทียบกันระหว่าง Objective-C กับ Swift. อย่างไรก็ตาม, ก็ไม่ได้จำเป็นที่เราจะต้องคุ้นเคยกับภาษา Objectvice-C. อย่างที่ได้บอกไป, คือมันเป็นสิ่งสำคัญเมื่อคุณมีประสบการณ์เกี่ยวกับภาษาที่ใช้ในการเขียนโปรแกรม. ในบทความนี้นั้นจะเน้นไปที่ภาษา Swift เป็นหลัก, โดยที่ไม่ได้เน้นไปที่พื้นฐานของการเขียนโปรแกรมสักเท่าไร. เราหวังว่าคุณอาจจะคุ้นเคยกับการใช้งาน ตัวแปร, ตัวแปรค่าคงที่, โฟลว์การทำงานและการเขียนโปรแกรมแบบ object-oriented programming มา. ยิ่งถ้าคุณคุ้นเคยกับพวกภาษาเช่น Objective-C, Java, Ruby, PHP หรือ JavaScript แล้วนั้น คุณจะไม่มีปัญหาสำหรับการทำความเข้าใจแนวคิดที่จะอธิบายในบทความนี้เลย. ในความเป็นจริงแล้ว, เราสามารถเรียนรู้ Swift ได้อย่างรวดเร็ว เพราะมีความคล้ายคลึงกับภาษาโปรแกรมมิ่งที่ดังๆอีกหลายภาษา รวมทั้งภาษา Objective-C ด้วย. Xcodeเราจะสามารถใช้งาน Swift ได้ตั้งแต่ Xcode เวอร์ชั่น 6 ขึ้นไปและตัว Apple's IDE(Integrated Development Environment) เวอร์ชั่นล่าสุด. เราสามารถดาวน์โหลดได้ที่ App Store หรือ Apple's Developer Center. 2. Swiftจากการเปรียบเทียบกับภาษา Objective-C หรือ Java นั้น, Swift นั้นมีความกระชับคล้ายๆกับ Ruby และ JavaScript. ถึงแม้ว่า Chris Lattner คนที่สร้างภาษา Swift นั้น, จะได้แรงบันดาลใจมากจากภาษาอื่นหลายๆภาษา, แต่ Swift เองก็มีความเป็นตัวของตัวเองที่สูงมากเช่นกัน. อย่างที่เราอาจจะรู้ว่า, Objective-C นั้นเป็นซุปเปอร์เซ็ตของภาษา C. แต่ Swift นั้นไม่ได้เป็น. ถึงแม้ว่า Swift นั้นจะมีการใช้วงเล็บปีกกาและมีจำนวนของคีย์เวิร์ดเหมือนกับภาษา C, แต่ Swift ก็ไม่สามารถใช้งานให้เข้ากันได้กับภาษา C. Swift นั้นเป็นภาษาในการเขียนโปรแกรมสมัยใหม่ ที่ให้ความรู้สึกใช้งานง่าย ยิ่งถ้าเราเคยใช้ภาษาอย่างเช่น Java หรือภาษาที่มีพื้นฐานมาจากภาษา C แบบ Objective-C. ในช่วงที่กำลังพัฒนาและออกแบบภาษา Swift นั้น, Chris Latter ได้เจาะจงไปที่ลักษณะสำคัญที่ใช้ในการออกแบบนิยามของภาษา. Safety (ปลอดภัย)ความปลอดภัยนั้นคือพื้นฐานอย่างหนึ่งของ Swift. เราจะสามารถเรียนรู้ได้อย่างรวดเร็วว่า Swift นั้นแตกต่างเป็นอย่างมากจาก Objective-C ในเรื่องของความปลอดภัยและส่งผลกระทบโดยตรงกับโค้ดของเรา. ถ้าเราเคยใช้งานภาษา Objective-C มาก่อน, ในส่วนนี้เราก็จะได้ใช้งานเช่นกัน. LLVMChris Lattner ยังได้ออกแบบ LLVM (Low Level Virtual Machine) compiler และไม่น่าแปลกใจเลยที่ Swift ได้ถูกสร้างขึ้นด้วย LLVM compiler. ผลลัพธ์ของความเร็ว, พลังและความเชื่อถือได้. Swift นั้นมีความเร็วมากกว่า Objective-C ในหลายๆ สถานการณ์. ถ้าคุณสนใจรายละเอียดเพิ่มเติม สามารถอ่านต่อได้ที่บทความของ Jesse Squires. Type InferenceSwift นั้นมีฟีเจอร์ที่สำคัญมากอย่างนึงคือ Type safety. Swift นั้นจะตรวจสอบโค้ดของเราในช่วงของการประมวณผล(Complie time) และเตือนเราในกรณีที่มีชนิดของตัวแปลที่ไม่ตรงกัน. นั่นหมายความว่า เราจะตรวจจับข้อผิดพลาดได้ก่อน เพื่อช่วยให้เราหลีกเลี่ยงข้อบกพร่องได้ง่ายขึ้น. โชคดีมาก, ที่ Swift นั้นจะช่วยเราในการจัดการในส่วนนี้. Swift นั้นฉลาดพอที่จะรู้จักชนิดของตัวแปลทั้งตัวแปลธรรมดาหรือค่าคงที่, นั่นหมายความว่าเราไม่จำเป็นต้องระบุชนิดตัวแปลเลยก็ได้. ตามที่เห็นในโค้ดตัวอย่างนั้น, เราได้สร้างตัวแปล var a = "this is a string" นี่เป็นตัวอย่างเพียงเล็กน้อย, ซึ่งคุณจะได้เรียนรู้การใช้งาน Swift ในการควบคุมคำสั่งที่ซับซ้อนมากขึ้น. ตัวแปลและตัวแปลที่มีค่าคงที่ (Variables และ Constants)ตัวแปลที่เป็นค่าคงที่นั้นมีประโยชน์มากในภาษา C และ Objective-C, แต่นักพัฒนาส่วนใหญ่ก็ยังใช้มันเท่าที่จำเป็น. ใน Swift นั้นตัวแปรที่เป็นค่าคงที่อาจจะเป็นตัวแปลที่สำคัญหรือแค่ตัวแปลทั้วไปก็ได้. ถ้าค่าในตัวแปลนั้นไม่สามารถเปลี่ยนแปลงได้, นั่นแสดงว่าตัวแปลนั้นก็ควรจะเป็น
constant(ตัวแปลที่มีค่าคงที่เปลี่ยนแปลงไม่ได้). เราจะสร้างตัวแปล(Variables) ได้โดยใช้ var a = 1 // variable let b = 1 // constant ไม่ใช่เพียงแค่เพื่อแสดงเจตนาในตอนที่เราสร้าง, แต่ยังช่วยเราป้องกันการเปลี่ยนค่าของตัวแปรที่อาจเกิดขึ้นได้โดยไม่ตั้งใจอีกด้วย. ไว้เราจะมาดูตัวแปรและค่าคงที่กันต่ออีกเล็กน้อยในบทความนี้. Semicolons (;)ใน Swift นั้น ไม่จำเป็นต้องใช้ semicolons(;). แต่เราก็สามารถใช้ semicolons เมื่อเราต้องการที่จะสร้างหลายสเตจเม้นในบรรทัดเดียวกัน ซึ่งจริงๆก็ไม่ได้จำเป็นอะไร. เรามาลองดูที่ตัวอย่างกัน เพื่อจะได้เข้าใจในแนวคิดมากขึ้น. var a = 1 var b = 2 var c = 1; var d = 2; เราพึ่งจะรู้เพียงแค่ผิวเผิน. โดยที่เราจะได้เรียนรู้เพิ่มเติมในคุณสมบัติและแนวคิดในบทเรียนนี้. แทนที่เราจะให้คุณเรียนรู้ในทฤษฎีมากเกินไป, เรามาลองเริ่มเขียนโค้ดกันสักเล็กน้อยเลยดีกว่า. โดยที่ Playgrounds จะพาเราเข้าไปทดลองความสามารถของ Swift และ Xcode 6. 3. PlaygroundsApple ได้เปิดตัว Playgrounds ใน Xcode เวอร์ชั่น 6. ซึ่ง Playground นั้นเป็นเครื่องมือที่ดีมากๆ ที่จะใช้ในการเรียนรู้ภาษา Swift. Playground นั้นจะมีระบบโต้ตอบอัตโนมัติที่จะทำให้เวลาที่เราเขียนภาษา Swift ลงไปแล้วจะสามารถแสดงผลลัพธ์ให้เราเห็นได้ทันที. ไม่ใช่แค่จะทำให้การเรียน Swift ของเรานั้นสนุกมากขึ้น, แต่ยังใช้งานง่ายกว่าที่เราจะไปทำการเริ่มต้นเป็นโปรเจคใน Xcode. ที่จริงแล้วนั้น, มันง่ายมากที่เราจะมาเริ่มสร้าง playground แรกของพวกเราขึ้นมา. เปิด Xcode 6 และเลือกไปที่ New > Playground... จากเมนู File . ตัวชื่อ playground ของเราและเลือก Platform เป็น iOS. เลือกที่ที่เราต้องการที่จะเซฟ Playground ไว้แล้วคลิ๊ก Create. จากที่จะมีหลายๆโฟล์เดอร์หลายๆไฟล์ เมื่อเราสร้าง playground นั้น เราจะมีเพียงแค่ไฟล์ .playground ไว้ใช้งานเท่านั้น. ในส่วนของยูเซอร์อินเตอร์เฟสที่เราเห็นนั้นแม้อาจจะดูไม่ง่าย. ที่เราเห็นในส่วนของด้านซ้ายจะมีคอมเม้นด้านบนในโค้ดนั้น เป็นการอิมพอร์ตตัว UIKit เฟรมเวิร์คเข้ามา ซึ่งเราดูแล้วก็ไม่ยากเกินทำความเข้าใจ. และที่เราเห็นในด้านขวา นั้นจะเป็นผลลัพท์ที่ได้จากโค้ดในทางฝั่งซ้ายนั้นเอง. เราจะใช้เวลาสักพักในการทำความเข้าใจในโค้ดที่อยู่ใน
playground ของเรา. โค้ดบรรทัดแรกนั้น ดูคล้ายๆกับที่เราเคยใช้งานในภาษา Objective-C, PHP หรือ JavaScript. และคอมเม้นในภาษา Swift นั้น จะเริ่มด้วยสองสแลช // หรือถ้าในกรณีที่ต้องการคอมเม้นทีละหลายบรรทัด เราจะใช้ เพราะเราได้เลือกแพลตฟอร์มในตอนสร้าง playground เป็น iOS, Xcode จึงได้อิมพอร์ม UIKit เฟรมเวิร์คเข้ามาให้ด้วย ซึ่งจะทำให้เราสามารถเรียกใช้งาน class และ constant ที่มีในเฟรมเวิร์คนี้ได้. ในบรรทัดสุดท้ายนั้น
เราอาจจะรู้สึกคุ้นเคยกับมัน แต่มันยังมีบางสิ่งที่ต้องการความชัดเจนมากขึ้น. เราสร้างตัวแปรขึ้นมามีชื่อว่า NSString *str = @"Hello, playground"; ในภาษา Objective-C นั้น, พวกเราจะใช้ชื่อชนิดของตัวแปรแทนการใช้ let hello = "Hello, playground" คีย์เวิร์ด str = "This is a variable." hello = "This is a constant." เมื่อเราลองใส่ค่าให้กับตัวแปรชื่อ อันนี้เป็นแนวคิดที่ง่ายๆ. คือถ้าค่าของตัวแปรของเราไม่สามารถเปลี่ยนแปลงได้ นั่นหมายความว่ามันควรจะเป็นตัวแปรที่มีค่าคงที่(constant) แทนที่จะเป็นตัวแปรธรรมดา(variable).
ในขณะที่มันอาจจะเป็นรายละเอียดปลีกย่อยไปสักหน่อย แต่เราการันตีเลยว่า มันจะทำให้โค้ดของคุณปลอดภัยขึ้นและมีแนวโน้มน้อยมากที่จะเกิดข้อผิดพลาด. เตรียมตัวให้พร้อมเข้าไว้ เพราะเราจะได้เห็น ในบทความนี้เราจะใช้ playground ในการเรียนรู้ในตัวของภาษา Swift เพราะมันเป็นตัวเลือกที่ดีมากๆ. ยังมีอีกหลายฟีเจอร์ที่ทรงพลังของ Playground ที่เรายังไม่ได้เรียนรู้ แต่นี่ก็เพียงพอที่ทำให้เราได้เรียนรู้พื้นฐานของภาษา Swift ได้ ก่อนที่เราจะได้ไปเรียนรู้ในส่วนอื่นๆ. เรียนรู้เพิ่มเติมจาก Swift Programming Course ของพวกเราถ้าคุณสนใจที่จะศึกษาเพิ่มเติมเกี่ยวกับ Swift, คุณสามารถเรียนรู้เพิ่มเติมได้ที่ full course on Swift development. อันนี้เป็นตัวอย่างง่ายๆ ตัวอย่างแรก ที่จะให้เรารู้ถึงรายละเอียดของ Playgrounds ว่ามันคืออะไร พร้อมทั้งความสามารถที่เป็นประโยชน์ของมัน. สรุปเราอาจจะยังต้องเจอกับบางคำพูดของนักพัฒนาที่ไม่ได้ชื่นชอบภาษา Swift. Swift นั้นมีแนวคิดหลายๆอันที่น่าใช้งาน, เราหวังว่าคุณจะสนุกไปกับความสามารถ, ความงดงามและรัดกุมของมัน. ในบทความต่อไป, เราจะมาทำความรู้จักกับพื้นฐานของภาษา Swift เพิ่มมากขึ้น. ระบบ Android ใช้ภาษาใดในการพัฒนา *แอปพลิเคชันจะเขียนโดยใช้ภาษาจาวา และใช้แอนดรอยด์ซอฟต์แวร์เดเวล็อปเมนต์คิต (Android software development kit) หรือ SDK โดยเอสดีเคจะประกอบด้วยชุดเครื่องมือต่างๆ นานาในการพัฒนาแอปพลิเคชัน รวมไปด้วยตัวรีบัก, แหล่งรวมซอฟต์แวร์ต่างๆ, ตัวจำลองแฮนด์เซต, โคดจำลอง และวิธีใช้ต่างๆ
ภาษา Swift พัฒนามาจากภาษาอะไรไอเดียการพัฒนาของ Swift ได้มาจากภาษาโปรแกรมดังๆ มากมาย เช่น Objective-C, Rust, Haskell, Ruby, Python, C#, CLU ฯลฯ Playgrounds และ REPL คือความปรารถของ Lattner เองที่อยากจะทำให้ภาษาโปรแกรมเป็นสิ่งที่โต้ตอบกับผู้เขียนได้และง่ายต่อการเข้าถึง
iOS เป็นโปรแกรมประเภทใดระบบปฏิบัติการไอโอเอส (iOS) มีชื่อเดิมว่า iPhone OS เริ่มต้นด้วยการเปิดตัวของ iPhone เมื่อวันที่ 29 มิถุนายน 2550 ระบบปฏิบัติการไอโอเอส (iOS) เป็นระบบปฏิบัติการสำหรับสมาร์ทโฟน (Smartphone) ของแอปเปิล โดยเริ่มต้นพัฒนาสำหรับใช้ในโทรศัพท์ iPhone และได้พัฒนาต่อใช้สำหรับ iPot Touch และiPad โดยระบบปฏิบัติการนี้สามารถเชื่อม ...
Xcode เขียนภาษาอะไรได้บ้างซีXcode / ภาษาโปรแกรมnull
|