Swift: مقدمة إلى Swift: دليل المبتدئين للبدء
Swift هي لغة برمجة حديثة أنشأتها Apple. تجمع بين أفضل ما في C وObjective-C مع كونها أكثر أمانًا وأسرع وأسهل قراءة. يرشدك هذا الدرس خلال إعداد بيئة التطوير من الصفر وكتابة أول سطر برمجي بلغة Swift.
1. ما ستتعلمه
- ما هي Swift وميزاتها الأساسية
- حالات الاستخدام الرئيسية لـ Swift
- كيفية تثبيت Xcode وPlaygrounds
- كيفية كتابة وتشغيل أول برنامج Swift
- البنية الأساسية لكود Swift ودالة print
2. قصة حقيقية: تغيير المسار الوظيفي من الصفر
(1) نقطة الألم: تريد بناء تطبيقات ولكن لا تعرف من أين تبدأ
كانت Alice محللة أسواق بخبرة خمس سنوات. أرادت الانتقال إلى تطوير iOS. بعد ثلاثة أيام من البحث عبر الإنترنت، وجدت الكثير من المصادر ولكن لا توجد نقطة بداية واضحة:
"قال البعض تعلم Objective-C، وقال آخرون Swift، وقال غيرهم ابدأ بـ C. قمت بتنزيل Xcode - 4.7GB - ولكن عندما فتحته لم أعرف أين أنقر. كانت الواجهة معقدة للغاية."
��عضلة Alice نموذجية: زخم المعلومات يؤدي إلى شلل القرار.
(2) حل Playgrounds
اقترح صديق أن تتخطى مشاريع Xcode تمامًا وتبدأ بـ Swift Playgrounds بدلاً من ذلك - بيئة برمجة Swift تفاعلية وخفيفة الوزن.
// Your first line of code in Swift Playgrounds
print("Hello, world!")
لا يتطلب Playgrounds إعداد مشروع، ولا توقيع كود، ولا معرفة بـ Storyboard. اكتب سطرًا من الكود وشاهد النتيجة فورًا. كتبت Alice أول برنامج لها في غضون 15 دقيقة.
(3) النتيجة: من صفر إلى واحد في 15 دقيقة
| البُعد | قبل | بعد |
|---|---|---|
| الحاجز النفسي | "لا أستطيع تعلم البرمجة" | "كتابة الكود بسيطة فعلاً" |
| وقت الإعداد | 3 أيام من التردد | 10 دقائق لتنزيل Playgrounds |
| أول برنامج | لم تكتب أي برنامج | Hello World في 15 دقيقة |
| مستوى الثقة | 0/10 | 7/10 |
3. ما هي Swift
Swift هي لغة برمجة حديثة قدمتها Apple في WWDC 2014 لبناء تطبيق��ت iOS وmacOS وwatchOS وtvOS. تستمد مفاهيم تصميم ممتازة من لغات متعددة.
graph LR
A[Swift] --> B[آمنة]
A --> C[سريعة]
A --> D[حديثة]
A --> E[مفتوحة المصدر]
B --> B1[الاختياريات تمنع أعطال القيم الفارغة]
B --> B2[أمان النوع يمنع أخطاء النوع]
C --> C1[تحسين تجميع LLVM]
C --> C2[أداء يضاهي C/Obj-C]
D --> D1[الإغلاقات/الأنواع العامة/مطابقة الأنماط]
D --> D2[صياغة موجزة، عالية القابلية للقراءة]
E --> E1[مفتوحة المصدر على GitHub]
E --> E2[تعمل على Linux أيضًا]
(1) الميزات الرئيسية لـ Swift
| الميزة | الوصف | مقابل Objective-C |
|---|---|---|
| أمان النوع | يتحقق من أخطاء النوع في وقت التجميع | يمكن لـ Obj-C تمرير id بشكل عشوائي |
| الاختياريات | استخدام ? و ! لتحديد القيم الفارغة بشكل صريح |
يمكن لـ nil في Obj-C إرسال رسائل إلى أي كائن |
| إدارة الذاكرة التلقائية | ARC تدير عدد المراجع تلقائيًا | يتطلب Obj-C retain/release يدوي |
| الإغلاقات | الدوال مواطن من الدرجة الأولى مع تعابير الإغلاق | صياغة block في Obj-C معقدة |
| الأنواع العامة | تحديد نوع الوسيط لكتابة كود عام | لا يدعم Obj-C الأنواع العامة |
| امتدادات البروتوكول | يمكن للبروتوكولات أن تحتوي على تطبيقات افتراضية | بروتوكولات Obj-C يمكنها التصريح فقط |
| مفتوحة المصدر | عبر المنصات مع دعم Linux | Obj-C ليست مفتوحة المصدر |
(2) ما يمكن استخدام Swift فيه
| المجال | إطار العمل/الأداة | الوصف |
|---|---|---|
| تطبيقات iOS | UIKit / SwiftUI | تطوير تطبيقات iPhone وiPad |
| تطبيقات macOS | AppKit / SwiftUI | تطوير تطبيقات سطح المكتب Mac |
| watchOS | WatchKit | تطبيقات Apple Watch |
| tvOS | tvOS SDK | تطبيقات Apple TV |
| جانب الخادم | Vapor / Kitura | بناء واجهات خلفية بـ Swift |
| البرمجة النصية | Swift Script | استبدال Shell/Python للأدوات اليومية |
▶ مثال: تجربة Swift مع Playgrounds
// ============================================
// Experience Swift interactively in Playgrounds
// No Xcode project needed — just open and code
// ============================================
let greeting = "Hello, Swift!"
print(greeting)
// Display calculation results directly
let result = 42 + 10
print("42 + 10 = \(result)")
المخرجات:
TEXT 📖 للعرض فقطHello, Swift! 42 + 10 = 52
4. إعداد بيئة التطوير
(1) اختيار الإعداد المناسب
| الخيار | الأنسب لـ | التثبيت | الحجم |
|---|---|---|---|
| Xcode | تطوير iOS/macOS احترافي | التنزيل من Mac App Store | ~7GB |
| Playgrounds | المبتدئين في تعلم صياغة Swift | Mac App Store / iPad App Store | ~150MB |
| Swift على Linux | تطوير جانب الخادم / عبر المنصات | apt install swift |
~500MB |
| Playground عبر الإنترنت | اختبار سريع، بدون تثبيت | عبر المتصفح | 0 |
(2) تثبيت Playgrounds (موصى به للمبتدئين)
إذا كان لديك Mac أو iPad، فإن أسرع طريقة للبدء هي تثبيت Swift Playgrounds:
- افتح Mac App Store (أو iPad App Store)
- ابحث عن "Swift Playgrounds"
- انقر على "Get" للتثبيت
بعد التثبيت، فقط افتحه وابدأ البرمجة. لا حاجة لحساب Apple Developer، ولا توقيع شهادة مطلوب.
(3) تثبيت Xcode (للتطوير المتقدم)
Xcode هو بيئة التطوير المتكاملة الرسمية من Apple، وتتضمن مجموعة أدوات تطوير iOS الكاملة:
# طريقتان لتثبيت Xcode
# 1. ابحث عن "Xcode" في Mac App Store وقم بالتنزيل (موصى به)
# 2. قم بتنزي�� حزمة .xip من موقع Apple Developer
▶ مثال: إنشاء Playground في Xcode
// ============================================
// Create a Playground file in Xcode
// File → New → Playground → Blank
// ============================================
import UIKit
var number = 42
number += 10
// The Playground sidebar shows variable values in real time
print(number)
المخرجات:
TEXT 📖 للعرض فقط52
5. بنية أول برنامج Swift
يبدأ كل برنامج Swift التنفيذ من الملف المدخل. في Playgrounds، يتم تنفيذ الكود سطرًا بسطر من الأعلى إلى الأسفل.
(1) البنية الأساسية
graph TB
A[ملف مصدر Swift .swift] --> B[استيراد أطر العمل]
A --> C[تصريحات المتغيرات/الثوابت]
A --> D[تعريفات الدوال]
A --> E[التعابير والجمل]
B --> F["import Foundation"]
B --> G["import UIKit"]
C --> H["let name = \"Alice\""]
C --> I["var age = 28"]
D --> J["func sayHello() { ... }"]
E --> K["print(\"مرحبًا\")"]
(2) فهم دالة print
print هي دالة الإخراج الأكثر استخدامًا في Swift لعرض المحتوى في وحدة التحكم.
// ============================================
// Basic usage of the print function
// ============================================
// 1. Output a string
print("Hello, Swift!")
// 2. Output multiple values (auto space-separated)
print("Hello", "Swift", "World")
// 3. String interpolation
let name = "Alice"
print("My name is \(name)")
// 4. Specify separator and terminator
print("One", "Two", "Three", separator: ", ", terminator: ".\n")
المخرجات:
TEXT 📖 للعرض فقطHello, Swift! Hello Swift World My name is Alice One, Two, Three.
▶ مثال: بنية برنامج Swift كامل
// ============================================
// Complete Swift program: Personal Info Card
// Demonstrates import, constants, variables, print
// ============================================
import Foundation
// Constants (immutable)
let appName = "Swift Starter"
let author = "Alice"
// Variables (mutable)
var year = 2026
var version = 1.0
// Output
print("Welcome to \(appName)")
print("Author: \(author), Year: \(year)")
print("Version: v\(version)")
// Update version number
version = 1.1
year = 2026
print("Updated: v\(version) (\(year))")
المخرجات:
TEXT 📖 للعرض فقطWelcome to Swift Starter Author: Alice, Year: 2026 Version: v1.0 Updated: v1.1 (2026)
6. مثال كامل: بناء آلة حاسبة بسيطة في Playgrounds
// ============================================
// Full example: Playground Calculator
// Demonstrates basic arithmetic operations
// ============================================
import Foundation
// 1. Define inputs
let a = 25
let b = 7
// 2. Calculate
let sum = a + b
let difference = a - b
let product = a * b
let quotient = a / b
let remainder = a % b
// 3. Format and output results
print("a = \(a), b = \(b)")
print("=== Results ===")
print("Addition: \(a) + \(b) = \(sum)")
print("Subtraction: \(a) - \(b) = \(difference)")
print("Multiplication: \(a) × \(b) = \(product)")
print("Division: \(a) ÷ \(b) = \(quotient) remainder \(remainder)")
المخرجات:
TEXT 📖 للعرض فقطa = 25, b = 7 === Results === Addition: 25 + 7 = 32 Subtraction: 25 - 7 = 18 Multiplication: 25 × 7 = 175 Division: 25 ÷ 7 = 3 remainder 4
❓ أسئلة شائعة
📖 ملخص
- Swift هي لغة برمجة حديثة من Apple لبناء تطبيقات iOS/macOS/watchOS/tvOS
- يجب على المبتدئين البدء بـ Playgrounds — تثبيت سريع، لا حاجة للتكوين
- مزايا Swift الثلاث الرئيسية: آمنة، سريعة، وحديثة
- يبدأ أول برنامج Swift بـ
print("Hello, World!") - يوفر Playgrounds تغذية راجعة في الوقت الفعلي — شاهد النتائج فورًا بعد كتابة كل سطر
- يفترض هذا البرنامج التعليمي عدم وجود خبرة سابقة، ويوجهك من المبتدئ إلى بناء أدوات سطر أوامر عملية عبر 28 درسًا
📝 تمارين
-
مبتدئ: قم بتثبيت Swift Playgrounds (أو افتح Xcode وأنشئ Playground)، ثم استخدم أمر
printلإخراج اسمك والسنة الحالية. -
متوسط: عدل مثال الآلة الحاسبة الكامل من القسم 6 بإضافة عروض تفصيلية للضرب (3 مجموعات مختلفة من الأرقام على الأقل) واستخدم وسيط
separatorلتجميل تنسيق الإخراج. -
متقدم: باتباع أسلوب الكود من القسم 6، أنشئ برنامج "محول وحدات" يحول بين الدرجة المئوية والفهرنهايت (الصيغة:
°F = °C × 9/5 + 32). اعرض النتائج بكلا الوحدتين.