┐─ تحليل الملف ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ┌
│ المطور : شركة أبل
│ الفئة : شفرة
│ نوع MIME : text/x-swift
┘ ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── └
ما هو ملف Swift؟
ملفات .swift تحتوي على شفرة مصدرية بلغة Swift، لغة البرمجة الحديثة التي طورتها أبل وكشفت عنها في مؤتمر WWDC 2014. صُممت Swift لتحل محل Objective-C كلغة رئيسية لتطوير منصات أبل (iOS، macOS، watchOS، tvOS) مع التركيز على الأمان والأداء والوضوح.
تعتمد Swift على مُترجم LLVM وتدعم: نظام أنواع ثابت مع استنتاج الأنواع، إدارة ذاكرة تلقائية بـ ARC (Automatic Reference Counting)، أساليب برمجة متعددة (كائنية وظيفية بروتوكولية)، والاستيراد المباشر لمكتبات Objective-C. أصبحت Swift مفتوحة المصدر عام 2015.
كيفية فتح ملفات Swift
- Xcode (ماك فقط) — بيئة التطوير الرسمية الأقوى لـ Swift، مع واجهة SwiftUI
- Swift Playgrounds (ماك، iPad) — بيئة تفاعلية مجانية للتعلم والتجربة
- VS Code مع إضافة Swift — دعم LSP خارج macOS
- AppCode من JetBrains — بديل تجاري لـ Xcode
- أي محرر نصوص — ملفات Swift نص عادي
المواصفات التقنية
| الخاصية | القيمة |
|---|---|
| نظام الأنواع | ثابت، قوي (مع استنتاج الأنواع) |
| النموذج | متعدد: OOP، وظيفي، بروتوكولي |
| المترجم | swiftc (مبني على LLVM) |
| إدارة الذاكرة | ARC (Automatic Reference Counting) |
| قواعد البيانات | Core Data، SwiftData |
| إدارة الحزم | Swift Package Manager (SPM) |
| التوافق | macOS، iOS، Linux، Windows |
الاستخدامات الشائعة
- تطبيقات iOS وiPadOS: اللغة الأساسية لبناء تطبيقات آيفون وآيباد، مع SwiftUI وUIKit
- تطبيقات macOS وmacCatalyst: تطبيقات سطح المكتب لماك والتحويل بين المنصات
- watchOS وtvOS: تطبيقات Apple Watch وApple TV
- تطوير جانب الخادم: أطر Vapor وHummingbird لبناء REST APIs بـ Swift على Linux
- ألعاب Apple Arcade: تطوير الألعاب مع SpriteKit وSceneKit وMetal
مثال مكوّن SwiftUI
import SwiftUI
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack(spacing: 20) {
Text("عداد: \(count)")
.font(.largeTitle)
.fontWeight(.bold)
HStack {
Button("زيادة") {
count += 1
}
.buttonStyle(.borderedProminent)
Button("إعادة ضبط") {
count = 0
}
.buttonStyle(.bordered)
.tint(.red)
}
}
.padding()
}
}
Swift Package Manager
# إنشاء مشروع Swift جديد
mkdir MyProject && cd MyProject
swift package init --type executable
# بناء المشروع
swift build
# تشغيل المشروع
swift run
# إضافة تبعية في Package.swift
# .package(url: "https://github.com/vapor/vapor.git", from: "4.0.0")