كيفية نشر تطبيق Golang
Go (Golang) هي لغة برمجة طورتها Google في عام 2009 لمعالجة المشاكل الشائعة في تطوير الأنظمة واسعة النطاق، مثل بطء التجميع والحاجة إلى البرمجة المتزامنة.
صُممت لغة Go من أجل البساطة والكفاءة وسهولة الاستخدام مع بناء جملة مشابه للغة C. بالإضافة إلى ذلك، يتم تجميع لغة Go، مما يجعلها أسرع من اللغات المفسرة.
إحدى ميزات Go الرئيسية هي دعمه للتزامن الذي يسمح لك بتشغيل مهام متعددة في وقت واحد من خلال سلاسل رسائل خفيفة الوزن تسمى Goroutines.
تشتهر Go أيضًا بدعمها القوي لتطوير الشبكات والويب. مكتبة Go القياسية هي موطن لحزم HTTP و TCP/IP وبروتوكولات الشبكات الأخرى، مما يجعل من السهل بناء تطبيقات متصلة بالشبكة.
في هذه المقالة، سوف تستكشف الفوائد والقيود وخيارات النشر لتطبيقات Go. بالإضافة إلى ذلك، سوف تقوم بإنشاء تطبيق Go وإرساءه ونشره باستخدام خدمة Back4app’s Back4app للحاويات مجانًا.
استمر في القراءة لاكتشاف كيفية نشر تطبيق Go.
Contents
- 1 مزايا Golang في تطوير الويب
- 2 حدود Golang
- 3 خيارات نشر Golang
- 4 البنية التحتية كخدمة (IaaS) مثل AWS
- 5 المنصة كخدمة (PaaS) مثل Heroku
- 6 الواجهة الخلفية كخدمة (BaaS) مثل Back4app
- 7 الحاويات كخدمة مثل حاويات Back4app
- 8 عملية نشر Golang
- 9 وضع تطبيقات Go في حاويات باستخدام Docker
- 10 نشر الحاوية على تطبيق Back4App
- 11 الخاتمة
- 12 الأسئلة الشائعة
- 13 ما هو Back4App، ولماذا يعد منصة جيدة لنشر تطبيقي؟
- 14 هل يمكنني نشر لغات أخرى مثل Rust على Back4app باستخدام الحاويات؟
- 15 هل يمكنني توسيع نطاق تطبيقي المحوي على Back4App؟
مزايا Golang في تطوير الويب
شعبية Go المتزايدة ليست عشوائية. هناك العديد من المزايا التي يمكنك الحصول عليها والاستفادة من استخدام Go لتطبيقاتك.
أداء عالٍ
الأداء العالي هو أحد الأسباب الرئيسية التي تجعل شركات مثل Dropbox و Uber تستخدم لغة Go. فقد صُممت لغة Go لسرعة التنفيذ، مما يجعلها خيارًا مثاليًا للتطبيقات التي تتطلب أداءً عاليًا.
تستخدم Go مُجمِّع قمامة يقلل من إدارة الذاكرة الزائدة، مما يسمح بأوقات تنفيذ أسرع. بالإضافة إلى ذلك، يمكنك استخدام دعم التزامن المدمج في Go لزيادة أداء تطبيقك.
قابلية التوسع
Go هو خيار ممتاز لبناء تطبيقات قابلة للتطوير. باستخدام التزامن، يمكنك إنشاء برامج يمكنها التعامل مع العديد من المهام، مما يجعل Go مناسبًا للتطبيقات التي تتعامل مع الأحمال ذات الحركة المرورية العالية والتي تحتاج إلى التوسع بسرعة.
تتمتع Go أيضًا بدعم ممتاز للأنظمة الموزعة، مما يجعلها خيارًا مثاليًا لبناء تطبيقات واسعة النطاق تحتاج إلى العمل على أجهزة متعددة.
انطلق تم اختباره في المعركة
تستخدم العديد من الشركات الشهيرة Go لبناء تطبيقات واسعة النطاق، بما في ذلك تلك التي تستخدمها Google و Uber و Dropbox. وهذا يعني أن Go قد تم اختباره في المعارك ليكون موثوقًا ومستقرًا لبناء تطبيقات معقدة لقواعد مستخدمين كبيرة.
تركز Go بقوة على التوافق مع الإصدارات السابقة، وستستمر التطبيقات المكتوبة بلغة Golang في العمل حتى مع تطور اللغة.
دعم مجتمعي كبير
منذ إصدارها، كانت لغة Go واحدة من أسرع اللغات نموًا من حيث الاعتماد، مما أدى إلى إنشاء مجتمع كبير ونشط. حقيقة أن Go لديها مجتمع كبير ونشط يعني أنه يمكنك بسهولة العثور على الموارد والإجابات على الأسئلة.
Go هي موطن للعديد من المكتبات والأدوات مفتوحة المصدر التي يمكنك استخدامها لتسريع وقت التطوير. تستخدم أدوات الإنشاء الشائعة مثل Kubernetes وDocker وHugo حزمًا مثل Cobra في أدوات CLI الخاصة بها.
حدود Golang
على الرغم من أن Golang لغة برمجة عالية الأداء وقابلة للتطوير، إلا أن لغة Go لها حدودها التي يجب أن تضعها في الاعتبار قبل التطوير باستخدام اللغة.
زيادة التعقيد في مهام معينة
قد تكون Go سهلة التعلّم والقراءة، لكن مهام محددة أسهل في لغات أخرى من Go. يمكن أن يكون بناء واجهة مستخدم تفاعلية مع Go أمرًا صعبًا لأن Go يحتاج إلى مجموعة أدوات واجهة المستخدم الرسومية المدمجة، كما أن حزم الطرف الثالث تجلب التعقيد لمشروعك.
نموذج التزامن في Go قد يكون صعبًا للمبتدئين
قد يكون نموذج التزامن في Go صعبًا على المبتدئين لفهمه واستخدامه بفعالية. يستخدم Go الجوروتينات والقنوات من أجل التزامن، وهي أدوات قوية ولكن قد يكون من الصعب فهمها. يجب أن تتعلم كيفية استخدام القنوات بفعالية لتجنب حالات الجمود أو ظروف السباق.
يتطلب نموذج التزامن في Go أيضًا أن تفكر بشكل مختلف حول بنية الشيفرة وتصميمها. ستجد هذا صعبًا إذا كنت معتادًا على نماذج البرمجة المتسلسلة.
منظومة مكتبات أقل نضجاً مقارنة باللغات الأخرى
على الرغم من أن مكتبة Golang القياسية شاملة وتحتوي على معظم الوظائف التي ستحتاجها لإنشاء تطبيقات Go، إلا أنها أقل نضجًا من المكتبات في لغات مثل Java أو Python.
Golang لغة برمجة جديدة نسبيًا؛ بعض المكتبات الشائعة غير متوفرة بعد. يمكن أن يكون هذا قيدًا على مشاريع معينة، خاصة تلك التي تتطلب وظائف أكثر تخصصًا.
بالإضافة إلى ذلك، فإن مكتبات الطرف الثالث ل Golang أقل انتشارًا من تلك المتوفرة للغات الأخرى، وقد تحتاج إلى تنفيذ بعض الوظائف بنفسك، وهو ما قد يستغرق وقتًا طويلاً.
خيارات نشر Golang
بعد إنشاء التطبيقات في Go، لديك العديد من خيارات النشر، لكل منها مزايا وعيوب.
لديك مجموعة كبيرة من الخيارات من خدمات IaaS مثل AWS، وخدمات PaaS مثل Heroku، وخدمات BaaS مثل Back4app وGoogle Firebase، وخدمات CaaS مثل Back4App Containers.
البنية التحتية كخدمة (IaaS) مثل AWS
يوفر موفرو البنية التحتية كخدمة (IaaS) مثل Amazon Web Services (AWS) وظائف لنشر وإدارة الأجهزة الافتراضية المملوكة على السحابة.
باستخدام AWS، يمكنك استخدام خدمات مثل Elastic Compute Cloud (EC2) لنشر تطبيق Golang الخاص بك على جهاز افتراضي يعمل بنظام Linux أو Windows. يمكنك أيضًا استخدام خدمات مثل Elastic Container Service (ECS) لنشر تطبيقك في حاوية.
تتمثل إحدى مزايا استخدام خدمة IaaS مثل AWS في أنك تتمتع بالتحكم الكامل في البنية التحتية الأساسية. يمكنك تكوين الجهاز الافتراضي لتلبية متطلباتك الخاصة. ومع ذلك، فأنت مسؤول عن إدارة الجهاز الافتراضي وصيانته، وهو ما يمكن أن يكون تقنيًا ومكلفًا.
تشمل منصات IaaS الأخرى ما يلي:
- Linode
- Microsoft Azure
- Rackspace
- Amazon Web Services (AWS)
- DigitalOcean
- Google Compute Engine (GCE)
المنصة كخدمة (PaaS) مثل Heroku
يوفر موفرو المنصة كخدمة (PaaS) مثل Heroku منصة لنشر تطبيقات Golang دون إرباك البنية التحتية الأساسية.
يوفر Heroku واجهة سطر أوامر بسيطة لنشر تطبيقك ببضعة أوامر فقط. كما يدعم Heroku أيضًا التحجيم التلقائي وموازنة التحميل، مما يجعل التعامل مع حركة المرور العالية لتطبيقك أمرًا سهلاً.
من مزايا استخدام خدمة PaaS مثل Heroku أنه يمكنك التركيز على تطوير تطبيقك دون القلق بشأن البنية التحتية. تتولى Heroku جميع عمليات إدارة البنية التحتية وصيانتها، مما يوفر عليك الوقت والموارد.
ومع ذلك، هذا يعني أيضًا أن لديك سيطرة أقل على البنية التحتية وسيتعين عليك العمل ضمن حدود المنصة.
يشمل مقدمو خدمات PaaS الآخرون ما يلي:
- Render
- AWS Elastic Beanstalk
- Microsoft Azure App Service
- DigitalOcean App Platform
- The Fly Platform
الواجهة الخلفية كخدمة (BaaS) مثل Back4app
يوفر موفرو خدمات الواجهة الخلفية كخدمة (BaaS) مثل Google Firebase و Back4app الحل الكامل للواجهة الخلفية لتطبيقك، بما في ذلك قاعدة البيانات والمصادقة والاستضافة. تدعم Firebase العديد من لغات البرمجة، بما في ذلك Golang، وتوفر واجهة برمجة تطبيقات بسيطة يمكنك استخدامها للوصول إلى خدماتها.
تتمثل إحدى مزايا استخدام خدمة BaaS مثل Firebase في أنه يمكنك إعداد واجهة خلفية لتطبيقك بسرعة وسهولة دون إدارة أي بنية تحتية. توفر Firebase مجموعة من الميزات والخدمات؛ ومع ذلك، تحتاج إلى مزيد من التحكم في البنية التحتية.
تشمل منصات BaaS الأخرى ما يلي:
- AWS Amplify
- Cloudkit
- Backendless
- Back4App
- Pocketbase
الحاويات كخدمة مثل حاويات Back4app
يشيع استخدام الحاويات لنشر التطبيقات. باستخدام استخدام الحاويات، يمكنك تجميع تطبيقك وتوابعه في حاوية يمكنك نشرها بسرعة على أي منصة تدعم تقنية الحاويات.
Back4App عبارة عن حاوية كمزود خدمة يمكنك استخدامها لنشر وإدارة تطبيق Golang الخاص بك في حاوية.
تتمثل إحدى مزايا استخدام الحاويات كمزود خدمة مثل Back4App في أنه يمكنك نشر تطبيقك على أي منصة تدعم الحاويات دون القلق بشأن البنية التحتية الأساسية.
يتعامل موفر خدمة CaaS مع جميع عمليات إدارة الحاويات وصيانتها، مما يوفر لك الوقت والموارد. ومع ذلك، قد تضطر إلى العمل ضمن حدود منصة الحاويات دون الوصول إلى البنية التحتية.
تشمل منصات CaaS الأخرى ما يلي:
- AWS Container Service
- Azure Container Service
- Docker Enterprise
- Google Container Engine
- IBM Kubernetes Service
- Oracle Container Service
عملية نشر Golang
ستتعرف هنا على كيفية نشر تطبيق Golang الخاص بك على منصة Back4app’s CaaS الخاصة ب Back4app.
ما هو تطبيق Back4app؟
Back4app هو عرض سحابي يمكنك استخدامه لإنشاء ونشر خدمات الواجهة الخلفية لتطبيقات الهاتف المحمول والويب الخاصة بك.
يمكنك استخدام ميزة CaaS في Back4app لنشر وتشغيل حاويات مخصصة على خوادم Back4app الخلفية. يمكنك إضافة منطق مخصص إلى تطبيقك باستخدام صور الحاويات الخاصة بك دون الحاجة إلى إدارة البنية التحتية للخادم الخاص بك.
في هذا القسم، ستتعلم في هذا القسم كيفية إنشاء واجهة برمجة تطبيقات CRUD RESTful API بسيطة في Go، وتعبئة برامج Go في حاويات، ونشر الحاوية على Back4app.
إعداد بيئة التطوير الخاصة بك
بعد تثبيت Go على جهازك من صفحة التنزيلات، يمكنك إنشاء دليل جديد وتهيئة مشروع Go جديد لتطبيق Go الخاص بك.
قم بتشغيل الأمر أدناه لإنشاء دليل جديد لمشروعك.
mkdir deployAPI && cd deployAPI
قم بتشغيل الأمر mod init
لتهيئة مشروع جديد في دليل العمل الحالي باستخدام أداة Go.
هكذا:
go mod init
ستقوم بإنشاء واجهة برمجة تطبيقات RESTful API باستخدام حزمة Gorilla Mux.
قم بتشغيل الأمر أدناه لتثبيت حزمة Gorilla Mux كحزمة تابعة لمشروعك.
go get -u github.com/gorilla/mux
الخطوة التالية هي بناء واجهة برمجة تطبيقات RESTful API. الخطوة الأولى في بناء واجهة برمجة تطبيقات RESTful API مع Gorilla Mux هي استيراد الحزم الضرورية في ملف Go الخاص بك.
إليك قائمة الواردات التي تحتاجها للمشروع.
import (
"encoding/json"
"log"
"net/http"
"strconv"
"github.com/gorilla/mux"
)
بعد إدراج الواردات الخاصة بك، ستحتاج إلى إعداد قاعدة بيانات لتطبيقك. للتبسيط، سنستخدم خريطة لتخزين البيانات واسترجاعها.
يمكنك إضافة الخريطة إلى تطبيقك هكذا:
var users = map[int]string{}
بما أن الخريطة فارغة، ستحتاج إلى إدخال البيانات بطلب POST.
وظيفة معالج طلب POST
يجب أن يتلقى طلب POST الخاص بك البيانات من العميل ويحللها ويحفظها في مخزن بيانات الخريطة.
أضف كتلة التعليمات البرمجية إلى تطبيقك لتنفيذ معالج طلب POST:
func createUserHandler(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id, err := strconv.Atoi(vars["id"])
if err != nil {
w.WriteHeader(http.StatusBadRequest)
return
}
var data map[string]string
err = json.NewDecoder(r.Body).Decode(&data)
if err != nil {
w.WriteHeader(http.StatusBadRequest)
return
}
users[id] = data["name"]
w.WriteHeader(http.StatusCreated)
}
تستقبل دالة المعالج createUserHandler
البيانات من العميل (JSON)، وتحلل JSON، وتحفظ البيانات في الخريطة. عندما يقوم المعالج بإضافة البيانات إلى الخريطة بنجاح، فإنه يكتب رمز نجاح StatusCreated
إلى العميل.
طلب GET
ستقرأ البيانات من مخزن البيانات باستخدام طلب GET. ستسترجع دالة معالج طلب GET معرفًا من العميل وتبحث عن البيانات وتعيدها إلى العميل.
أضف الكتلة البرمجية إلى تطبيقك لتنفيذ معالج طلب GET:
func readUserHandler(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id, err := strconv.Atoi(vars["id"])
if err != nil {
w.WriteHeader(http.StatusBadRequest)
return
}
name, ok := users[id]
if !ok {
w.WriteHeader(http.StatusNotFound)
return
}
data := map[string]string{"name": name}
jsonData, err := json.Marshal(data)
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
w.Write(jsonData)
}
تسترجع دالة readUserHandler
المعرف باستخدام دالة Vars
في حزمة mux
وتبحث في الخريطة عن البيانات قبل إعادة البيانات بصيغة JSON إلى العميل، مع رمز نجاح StatusOk
.
وظيفة معالج طلب PUT
ستقوم بتحديث البيانات في مخزن بياناتك باستخدام طلب PUT. سيقبل معالج طلب PUT المعرف وحقل JSON لعملية التحديث.
func updateUserHandler(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id, err := strconv.Atoi(vars["id"])
if err != nil {
w.WriteHeader(http.StatusBadRequest)
return
}
var data map[string]string
err = json.NewDecoder(r.Body).Decode(&data)
if err != nil {
w.WriteHeader(http.StatusBadRequest)
return
}
users[id] = data["name"]
w.WriteHeader(http.StatusOK)
}
تأخذ دالة updateUserHandler
المعرف
مع متغير vars،
وتفك تشفير JSON من نص الطلب، وتقوم بتحديث الحقل أو المعرف ببيانات JSON من نص الطلب.
وظيفة معالج الطلبات المحذوفة
ستأخذ دالة معالج الطلب DELETE معرف الحقل من الطلب وتحذف الحقل من مخزن البيانات.
أضف كتلة التعليمات البرمجية إلى تطبيقك لتنفيذ معالج طلب الحذف:
func deleteUserHandler(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id, err := strconv.Atoi(vars["id"])
if err != nil {
w.WriteHeader(http.StatusBadRequest)
return
}
delete(users, id)
w.WriteHeader(http.StatusOK)
}
تحذف الدالة DeleteUserHandler
الحقل باستخدام دالة الحذف
التي تأخذ اسم الخريطة والمعرف وتعيد رمز StatusOk
إلى العميل.
تركيب وظائف المعالج على المسارات
بعد تحديد نقاط نهاية تطبيقك، يجب عليك تعيين دوال المعالج إلى مسارات. المسارات هي الواجهة العامة لواجهة API الخاصة بك.
func main() {
r := mux.NewRouter()
r.HandleFunc("/users/{id}", createUserHandler).Methods(http.MethodPost)
r.HandleFunc("/users/{id}", readUserHandler).Methods(http.MethodGet)
r.HandleFunc("/users/{id}", updateUserHandler).Methods(http.MethodPut)
r.HandleFunc("/users/{id}", deleteUserHandler).Methods(http.MethodDelete)
log.Fatal(http.ListenAndServe(":8080", r))
}
في الدالة الرئيسية،
r
هي مثيل لموجه mux جديد، وتأخذ الدالة HandleFunc
مسارًا ودالة معالج. تحدد دالة الطرق
أساليب HTTP على المسارات.
وضع تطبيقات Go في حاويات باستخدام Docker
Docker هي واحدة من أكثر تقنيات الحاويات شيوعًا. صُممت Docker باستخدام Go، ويمكنك تجميع تطبيقات Go في حاويات لإمكانية نقلها باستخدام Docker.
سيتعين عليك إنشاء ملف dockerfile جديد حيث ستحدد تعليمات الإنشاء.
قم بتشغيل الأمر أدناه لإنشاء ملف Dockerfile في دليل عمل مشروعك.
touch Dockerfile
افتح ملف Dockerfile والصق إرشادات الإنشاء هذه لتعبئة تطبيق Go الخاص بك في حاوية باستخدام Docker.
# Use an official Golang runtime as a parent image
FROM golang:latest
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Download and install any required dependencies
RUN go mod download
# Build the Go app
RUN go build -o main .
# Expose port 8080 for incoming traffic
EXPOSE 8080
# Define the command to run the app when the container starts
CMD ["/app/main"]
تحدد تعليمات الإنشاء في ملف dockerfile إصدار Go للمشروع، ودليل العمل، وملفات التطبيق، وتعليمات الإنشاء لملف dockerfile.
فيما يلي تفصيل لملف Dockerfile:
- يبدأ الملف بـ
من Golang: الأحدث
الذي يحدد أنك تريد استخدام أحدث إصدار من صورة Golang الرسمية كصورة أساسية لحاوية Docker الخاصة بك. - يقوم سطر
WORKDIR/التطبيق
بتعيين دليل العمل للحاوية الخاصة بك إلى دليل/التطبيق
. ينسخ نسخ . /التطبيق
نسخ محتويات الدليل الحالي إلى دليل/التطبيق
في الحاوية.- يقوم
تنزيل RUN go mod بتن
زيل التبعيات المطلوبة لتطبيقك. - يقوم
RUN go go build -o main .
بتجميع تطبيق Go الخاص بك وإنشاء ملف قابل للتنفيذ باسمmain
في الدليل/ التطبيق
. - يقوم سطر
EXPOSE 8080
بإخبار Docker بكشف المنفذ 8080؛ المنفذ الذي يستمع إليه تطبيق Go الخاص بك للطلبات الواردة. - يحدد سطر
CMD ["/التطبيق/الأساسي"]
الأمر الذي سيتم تشغيله عند بدء تشغيل الحاوية (في هذه الحالة، القابل للتنفيذالرئيسي
).
عند تشغيل ملف dockerfile، يقوم Docker ببناء صورة التطبيق ويعرض التطبيق على المنفذ 8080
.
يقوم الأمر ببدء تشغيل الحاوية وتعيين المنفذ 8080
على الجهاز المضيف إلى المنفذ 8080
في الحاوية، ويجب أن تكون قادرًا على الوصول إلى واجهة برمجة التطبيقات على [http://localhost:8080] (http://localhost:8080)
.
نشر الحاوية على تطبيق Back4App
ستحتاج إلى إنشاء حساب على Back4app (إذا لم يكن لديك حساب) لنشر الحاويات.
فيما يلي خطوات إنشاء حساب على Back4app.
- توجّه إلى موقع Back4app الإلكتروني.
- انقر على زر التسجيل في الزاوية العلوية اليمنى من الصفحة المقصودة لإنشاء حساب جديد.
- وأخيراً، املأ نموذج التسجيل وأرسله.
بعد إنشاء حساب Back4app الخاص بك، قم بتسجيل الدخول إلى حسابك وانقر على زر تطبيق جديد في الزاوية العلوية اليمنى من واجهة المستخدم.
سينقلك زر تطبيق جديد إلى صفحة تختار فيها كيفية نشر تطبيقك. بما أنك تنشر حاوية، حدد خيار الحاويات كخدمة.
بعد ذلك، قم بربط حساب GitHub الخاص بك بحساب Back4app الخاص بك. يمكنك اختيار منح Back4app حق الوصول إلى التعليمات البرمجية المصدرية لجميع المستودعات في حسابك أو إلى دليل مشروع معين.
اختر التطبيق الذي تريد نشره، في هذه الحالة، التطبيق الذي أنشأته في هذا البرنامج التعليمي، ثم انقر فوق تحديد.
ينقلك النقر على زر التحديد إلى صفحة حيث ستملأ المعلومات حول تطبيقك، من الاسم إلى الفرع والدليل الجذر والمتغيرات البيئية.
تأكد من ملء جميع المتغيرات البيئية التي يتطلبها تطبيقك. بعد أن تملأ التفاصيل المطلوبة، انقر فوق إنشاء تطبيق.
يؤدي النقر فوق هذا الزر إلى بدء عملية النشر لتطبيق Go الخاص بك، كما هو موضح في الصورة أدناه.
الخاتمة
لقد تعلمت كيفية نشر تطبيق Go في حاوية على Back4app. باتباع الخطوات الواردة في هذا البرنامج التعليمي، يجب أن يكون لديك تطبيق Go API يعمل على Back4app.
يعد نشر تطبيقاتك على Back4App طريقة رائعة لتبسيط إدارة البنية التحتية الخلفية. يوفر Back4App أدوات قوية لإدارة بياناتك وتوسيع نطاق تطبيقك ومراقبة أدائه. إنه خيار ممتاز للمطورين الذين يتطلعون إلى إنشاء تطبيقات رائعة بدلاً من إدارة الخوادم.
الأسئلة الشائعة
ما هو Back4App، ولماذا يعد منصة جيدة لنشر تطبيقي؟
Back4App هي منصة BaaS تُمكّنك من بناء تطبيقاتك واستضافتها وتوسيع نطاقها باستخدام بنية بدون خادم. كما تُقدّم Back4app خدمات حاويات تُتيح لك إدارة حاويات البرامج ونشرها دون الحاجة إلى القلق بشأن إدارة البنية التحتية الأساسية.
هل يمكنني نشر لغات أخرى مثل Rust على Back4app باستخدام الحاويات؟
نعم، يمكنك نشر Rust على Back4App باستخدام تقنيات الحاويات مثل Docker. يدعم Back4App حاويات Docker التي يمكنك استخدامها لنشر تطبيقات مكتوبة بلغات برمجة مختلفة، بما فيها Rust.
هل يمكنني توسيع نطاق تطبيقي المحوي على Back4App؟
نعم، يمكنك توسيع نطاق تطبيقك المُخزّن في حاويات على Back4App باستخدام ميزة التوسع التلقائي المُدمجة. تعمل هذه الميزة على توسيع نطاق عدد نسخ تطبيقك تلقائيًا بناءً على الطلب، مما يضمن قدرة تطبيقك على التعامل مع زيادة حركة البيانات وحجم العمل.