وظائف Serverless بلغة Swift: AWS Lambda لمطوري iOS/macOS

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة إلى دوال Serverless بلغة Swift مع AWS Lambda

عالم تطوير الأجهزة المحمولة والخوادم يتغير بسرعة. إذا كنت مطور iOS/macOS معتادًا على العمل مع Swift، فربما فكرت في كيفية نقل مهاراتك إلى جانب الخادم. بنية Serverless و AWS Lambda تفتحان لك هذه الإمكانية. لم يعد هناك حاجة لإدارة الخوادم — أنت فقط تكتب كودًا يتم تشغيله استجابةً للأحداث.

في هذه المقالة، سنشرح كيفية إنشاء دوال Serverless بلغة Swift لـ AWS Lambda. ستتعلم كيفية إعداد البيئة، كتابة دالة بسيطة، ونشرها في السحابة. هذا الدليل مثالي للمطورين الذين يرغبون في توسيع كفاءاتهم والبدء في استخدام Swift ليس فقط لإنشاء الواجهات، ولكن أيضًا للباك إند.



لماذا Swift لـ Serverless؟

لم يعد Swift لغة مخصصة لنظام iOS فقط. بفضل مشاريع مثل Swift AWS Lambda Runtime، يمكنك استخدام الصيغة المألوفة والنظام البيئي لكتابة كود الخادم. إليك المزايا الرئيسية:

  • الأداء: يتم ترجمة Swift إلى كود أصلي، مما يوفر سرعة تنفيذ عالية واستهلاكًا منخفضًا للذاكرة.
  • أمان الأنواع: يساعد التحديد الصارم للأنواع في Swift على تجنب العديد من الأخطاء في مرحلة الترجمة، وهو أمر حاسم لكود الخادم.
  • مجموعة واحدة: باستخدام Swift على العميل والخادم، تقلل من التبديل السياقي ويمكنك إعادة استخدام نماذج البيانات المشتركة.
  • مجتمع نشط: يتطور Swift للخادم بنشاط، وتظهر مكتبات وأدوات جديدة.


إعداد البيئة وإنشاء المشروع

قبل كتابة الكود، يجب تثبيت الأدوات اللازمة. ستحتاج إلى macOS مع Xcode (أو سطر الأوامر) و Docker للتجميع تحت Linux (نظرًا لأن AWS Lambda يعمل على Amazon Linux).



الخطوة 1: تثبيت Swift و Docker

تأكد من تثبيت Swift 5.5 أو أحدث. يمكنك التحقق من الإصدار باستخدام الأمر:

swift --version

قم أيضًا بتثبيت Docker Desktop لنظام macOS. ستحتاجه للتجميع لبنية Lambda المستهدفة.



الخطوة 2: إنشاء مشروع جديد

سنستخدم مدير حزم Swift (SPM). أنشئ حزمة قابلة للتنفيذ جديدة:

mkdir MyLambdaFunctioncd MyLambdaFunctionswift package init --type executable


الخطوة 3: إضافة تبعية AWS Lambda Runtime

افتح ملف Package.swift وأضف التبعية:

// swift-tools-version:5.5import PackageDescription

let package = Package( name: "MyLambdaFunction", platforms: [.macOS(.v12)], dependencies: [ .package(url: "https://github.com/swift-server/swift-aws-lambda-runtime.git", from: "1.0.0") ], targets: [ .executableTarget( name: "MyLambdaFunction", dependencies: [ .product(name: "AWSLambdaRuntime", package: "swift-aws-lambda-runtime") ] ) ])


كتابة أول دالة Serverless بلغة Swift

الآن ننتقل إلى الجزء الأكثر إثارة — كتابة الكود. افتح ملف main.swift في مجلد Sources/MyLambdaFunction/.



الهيكل الأساسي لدالة Lambda

هذا مثال بسيط لدالة تستقبل اسمًا وتعيد تحية:

import AWSLambdaRuntimeimport AWSLambdaEvents

// تعريف هيكل الطلب الواردstruct GreetingRequest: Codable { let name: String}

// تعريف هيكل الاستجابةstruct GreetingResponse: Codable { let message: String}

// نقطة الدخول الرئيسية@mainstruct MyLambdaHandler: SimpleLambdaHandler { typealias Event = GreetingRe

المدونات

توصيات الكتب