لماذا Swift ليست فقط لتطوير التطبيقات المحمولة؟
عندما تسمع "Swift"، أول ما يتبادر إلى الذهن هو تطبيقات iOS. لكن في السنوات الأخيرة، خطت Swift بثبات نحو جانب الخادم. وهذا ليس مجرد ضجة: شركة Apple تعمل بنشاط على تطوير النظام البيئي، والمجتمع يبني أطر عمل قوية. إذا كنت تكتب بالفعل بلغة Swift لتطبيقات iOS وترغب في توسيع آفاقك — فإن ميكروسيرفيسات Swift ستكون خطوتك المنطقية التالية.
لماذا الميكروسيرفيسات تحديدًا؟ لأنها المعيار الحديث لبناء الباك إند: خدمات صغيرة ومستقلة يسهل توسيع نطاقها وتحديثها. وSwift بأدائها العالي، وأمان أنواعها، وبناء جملتها المختصر مناسبة تمامًا لذلك. في هذه المقالة، سنشرح من أين تبدأ في إنشاء ميكروسيرفيسات بلغة Swift، وسنكتب كودًا حقيقيًا ونشغل أول خدمة لنا.
ما الذي تحتاج معرفته قبل البدء؟
للقراءة المريحة، ستحتاج إلى:
- معرفة أساسية بلغة Swift (المتغيرات، الدوال، الهياكل)
- فهم HTTP و REST (على الأقل بمستوى "هناك طلب — هناك رد")
- تثبيت
brew(لنظام macOS) أو Docker (لنظام Linux)
إذا كان هناك شيء ناقص — لا تقلق، سنتعلمه أثناء العمل.
اختيار الأداة: Vapor — ملك Swift للخادم
في سوق أطر العمل الخادمية لـ Swift، هناك لاعبان رئيسيان: Vapor و Kitura (من IBM). لكن Kitura، للأسف، شبه متوقفة. بينما Vapor يتطور بنشاط، وله مجتمع ضخم ووثائق ممتازة. لذلك، اختيارنا هو Vapor.
Vapor يوفر كل شيء جاهزًا: التوجيه، الوسائط، العمل مع قواعد البيانات، WebSocket، والمعالجة غير المتزامنة عبر async/await. مثالي لبناء بنية ميكروسيرفيسات بلغة Swift.
تثبيت Vapor Toolbox
افتح الطرفية ونفذ:
brew install vaporبعد التثبيت، تحقق:
vapor --helpإذا رأيت قائمة الأوامر — كل شيء على ما يرام، يمكنك إنشاء أول مشروع.
إنشاء أول ميكروسيرفيس: Hello, World!
سيكون أول ميكروسيرفيس لدينا بسيطًا: سيستقبل طلب GET ويعيد JSON. لكننا سنفعل ذلك بشكل صحيح — ببنية جاهزة للتوسع.
الخطوة 1. إنشاء المشروع
vapor new HelloMicroservice --template=authcd HelloMicroserviceالعلامة --template=auth ستضيف بنية أساسية مع المصادقة. بالنسبة للميكروسيرفيس، هذه ممارسة جيدة — تضمين الأمان منذ البداية.
الخطوة 2. بنية المشروع
بعد الإنشاء، سترى البنية التالية:
HelloMicroservice/├── Sources/│ ├── App/│ │ ├── Controllers/│ │ ├── Models/│ │ └── configure.swift│ └── Run/│ └── main.swift├── Tests/├── Dockerfile└── Package.swiftلاحظ ملف Dockerfile — هذا قالب جاهز للحاويات. الميكروسيرفيسات بدون Docker مثل البيتزا بدون جبن.
الخطوة 3. كتابة أول نقطة نهاية
لنفتح Sources/App/Controllers/UserController.swift (إذا لم يكن موجودًا، سننشئه). سنضيف دالة بسيطة:
import Vapor
struct HealthController: RouteCollection { func boot(routes: RoutesBuilder) throws { let health = routes.grouped("api", "health") health.get(use: checkHealth) } @Sendable func checkHealth(req: Request) async throws -> HTTPStatus { return .ok }}هذا هو فحص الصحة الكلاسيكي — أساس أي ميكروسيرفيس. الآن، لنقم بتسجيله في configure.swift:
// في نهاية الدالة configuretry app.register(collection: HealthController())الخطوة 4. التشغيل والاختبار
vapor runافتح المتصفح أو الطرفية:
curl http://localhost:8080/api/health# الرد: 200 OKتهانينا! لقد قمت بإنشاء أول ميكروسيرفيس بلغة Swift!