لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 10/25/23 في كل الموقع
-
CMake Error at /usr/share/cmake-3.27/Modules/FindPkgConfig.cmake:607 (message): A required package was not found Call Stack (most recent call first): /usr/share/cmake-3.27/Modules/FindPkgConfig.cmake:829 (_pkg_check_modules_internal) flutter/CMakeLists.txt:25 (pkg_check_modules) Exception: Unable to generate build files1 نقطة
-
السؤال الاول: .Use an f-string to print "Hello, [your name]!" by inserting your name into the string السؤال الثاني : .Given a date as year = 2023, month = 7, and day = 15, use an f-string to format and print the date as "2023-07-15". السؤال الثالث : .Question: Given a list of numbers, calculate and print its average using an f-string. السؤال الرابع : .Given a full name in the format "First Name Last Name", use an f-string to reverse the names to the format "Last Name, First Name" Ask the user to enter a password until it matches a pre-defined password السؤال الخامس :.correct_password = "python123" السؤال السادس : .Prompt the user for numbers (one at a time) and keep a running total. Stop when the user enters "stop", then display the total sum السؤال السابع : . Write a program that prints numbers from 10 to 1 in decreasing order using a while loop السؤال الثامن : . Ask the user for a word and print it twice using a while loop السؤال التاسع : .Keep asking the user for input and print the input until the user types "exit"1 نقطة
-
السلام عليكم .. لدي تطبيق ارغب في عمله وحاولت بناء الجداول باكثر من طريقه لاصل للهدف ولم اعرف كيف .. فهل من الممكن مساعدتي بناءً علي الوصف التالي : - جدول للمستخدمين للنظام وهم موظفين . حقول الادخال للجدول : -- اسم الموظف -- الهويه الوطنيه -- الرقم الوظيفي -- تاريخ الميلاد -- موقع العمل -- الصوره الشخصيه -- الايمل -- كلمه المرور والبيانات العامه للمستخدم والموجوده اساسا في جدول users بنظام لارافيل . - جدول المناطق -- اسم المنطقه -جدول المحافظات -- اسم المنطقه اللي تنتمي لها المحافظه -- اسم المحافظه -جدول المجمعات السكنيه -- اسم المحافظه التي ينتمي لها المجمع (يمكن المحافظه الوحده ينتمي لها اكثر من مجمع). -- اسم المجمع السكني -- عدد الوحدات السكنيه -- اسماء الموظفين المسؤلين عنه - جدول الوحدات السكنيه -- اسم المجمع السكني الذي تنتنمي له الوحده السكنيه (كل مجمع سكني قد يحتوي على وحده سكنيه واكثر) -- كود الوحده السكنية (مثال : JRN00121) -- عدد الغرف بالوحده السكنيه -- دقم العداد الخاص بالكهرباء -- رقم العداد الخاص بالماء -- حاله الوحده (مسكونه - شاغره) ارغب في مساعدتكم في بناء الجداول الانسب انا مبتدئ ومتحمس للعمل وبحكم عملي بهالمجال (اداره الاملاك) جاء ببالي ابني هالفكره عشان اخدم قسمي بحصر كل شيء بهالطريقه . بنتظار ارشادكم لي . وشكراً1 نقطة
-
ستحتاج إلى إنشاء الجداول التالية: 1- جدول المستخدمين يحتوي على معلومات عامة عن المستخدمين، مثل الاسم والهوية الوطنية والرقم الوظيفي والتاريخ الميلاد وموقع العمل والصورة الشخصية والبريد الإلكتروني وكلمة المرور. حقول الجدول: الحقل نوع البيانات اسم المستخدم - نص الهوية الوطنية - نص الرقم الوظيفي - نص تاريخ الميلاد - تاريخ موقع العمل - نص الصورة الشخصية - صورة البريد الإلكتروني - نص كلمة المرور - نص 2- جدول المناطق وذلك الجدول يحتوي على أسماء المناطق فقط. الحقول هي: اسم المنطقة - نص 3- جدول المحافظات ضع به أسماء المحافظات وأسماء المناطق التي تنتمي إليها. حقول الجدول: اسم المحافظة - نص اسم المنطقة - نص 4- جدول المجمعات السكنية هنا ضع أسماء المجمعات السكنية، وأسماء المحافظات التي تنتمي إليها، وعدد الوحدات السكنية، وأسماء الموظفين المسؤولين عنها. حقول الجدول: اسم المجمع السكني - نص اسم المحافظة - نص عدد الوحدات السكنية - عدد صحيح اسماء الموظفين المسؤلين عنه - نص 5- جدول الوحدات السكنية يتضمن أسماء الوحدات السكنية، وأسماء المجمعات السكنية التي تنتمي إليها، وكود الوحدات السكنية، وعدد الغرف، وأرقام العدادات الخاصة بالكهرباء والماء، وحالة الوحدة (مسكونة أو شاغرة). حقول الجدول: اسم المجمع السكني - نص كود الوحدة السكنية - نص عدد الغرف - عدد صحيح رقم العداد الخاص بالكهرباء - نص رقم العداد الخاص بالماء - نص حالة الوحدة - نص العلاقات المناسبة هي كما يلي: علاقة واحد لمتعدد One to Many بين جدول المستخدمين وجدول المجمعات السكنية، وتعني أنه يمكن لكل مستخدم أن يكون مسؤولاً عن العديد من المجمعات السكنية، ولكن يمكن أن يكون كل مجمع سكني مسؤولاً عن مستخدم واحد فقط. علاقة واحد لمتعدد One to Many بين جدول المجمعات السكنية وجدول الوحدات السكنية، وتعني أنه يمكن لكل مجمع سكني أن يحتوي على العديد من الوحدات السكنية، ولكن يمكن أن تكون كل وحدة سكنية جزءًا من مجمع سكني واحد فقط.1 نقطة
-
السلام عليكم لدي مشكلة في هذا الكود وهو قراءة محتواة الصورة عند تشغيله يعطيني خطا بان الرابط ليس صالحا ولكن انا متاكد من الرابط هل يوجد حل from PIL import Image import pytesseract # قراءة الصورة image = Image.open('https://2.bp.blogspot.com/--I_lNobSfMk/V8MKPK9wDLI/AAAAAAAAY1Q/cyzstRG2EWoobUk0D3xNvojqwYFIeY1NwCLcB/s1600/kalam-hob-english%2B%25282%2529.jpg') # استخدام Tesseract لتحليل النص في الصورة text = pytesseract.image_to_string(image, lang='eng') # استخدم اللغة المناسبة # طباعة النص print(text)1 نقطة
-
وعليكم السلام يبدو أنك تستخدم مكتبة PIL و pytesseract لقراءة النص من صورة موجودة على الإنترنت. ومع ذلك، فإن مكتبة PIL لا تدعم مباشرة قراءة الصور من الإنترنت باستخدام عنوان URL. لحل هذه المشكلة،يمكنك فعل مثل ما قال استاذ عمار في تعليقه , أو يمكنك تنزيل الصورة الموجودة على الرابط المحدد وحفظها محليًا على جهاز الخادم الخاص بك، ثم استخدام مسار الملف المحلي لقراءة الصورة باستخدام PIL. فيما يلي مثال على كيفية تنزيل الصورة وحفظها محليًا قبل قراءتها باستخدام PIL و pytesseract: from PIL import Image import pytesseract import requests from io import BytesIO # رابط الصورة image_url = 'https://2.bp.blogspot.com/--I_lNobSfMk/V8MKPK9wDLI/AAAAAAAAY1Q/cyzstRG2EWoobUk0D3xNvojqwYFIeY1NwCLcB/s1600/kalam-hob-english%2B%25282%2529.jpg' # تنزيل الصورة وحفظها محليًا response = requests.get(image_url) image = Image.open(BytesIO(response.content)) image.save('image.jpg') # استخدام Tesseract لتحليل النص في الصورة text = pytesseract.image_to_string(image, lang='eng') # استخدم اللغة المناسبة print(text) هذا الكود يستخدم مكتبة `requests` لتنزيل الصورة من الرابط المحدد و`BytesIO` لتحويل المحتوى المستلم إلى أوبجيكت صورة قابل للقراءة بواسطة PIL. ثم يتم حفظ الصورة المحملة محليا باسم "image.jpg" قبل قراءتها باستخدام `pytesseract`. أيضاً يجب عليك التأكد أن لديك الأذونات اللازمة للوصول إلى الصورة من الرابط المحدد وتنزيلها.1 نقطة
-
لاحظ أنك تكتب view.engine والصحيح هو view engine كالتالي: app.set('view engine', 'ejs'); وإليك مثال كامل: import express from 'express'; const app = express(); // ✅ Configure EJS as your view engine app.set('view engine', 'ejs'); app.get('/', (req, res) => { res.render('home', { title: 'hsoub.com', message: 'Example message: hsoub.com', }); }); const port = 5000; app.listen(port, () => { console.log(`Example app listening on port ${port}`); });1 نقطة
-
يمكنك تحليل هاته المعطيات إلى نماذج البيانات التالية: موظف / مستخدم Employee / User. منطقة Region. محافظة Governorate. مجمع سكني City. وحدة سكنية Apartment. قم بتشغيل الأوامر التالية تباعا لتكوين نماذج بيانات Models وملفات تهجير migration files لكل انموذج بيانات: php artisan make:model Employee -m php artisan make:model Region -m php artisan make:model Governorate -m php artisan make:model City -m php artisan make:model Apartment -m قم بإضافة الحقول اللازمة لكل ملف تهجير مرافق لأنموذج بيانات معين. قم بحقن بيانات اتصال صحيحة بقاعدة البيانات في ملف متغيرات البيئة env. ثم نفذ عملية التهجير: php artisan migrate قد تحتاج كخطوة اضافية توصيف العلاقات بين البيانات، الأمر الذي يتم بوساطة المفاتيح الأجنبية FK التي تشير إلى صفوف في جداول أخرى، مثال: لنقل أن كل منطقة تمتلك الكثير من المحافظات، وكل محافظة بدورها تمتلك الكثيرر من المجمعات السكنية، وكل مجمع سكنية يحتوي عددا من الوحدات السكنية .. هذا يقتضي: وجود مفتاح أجنبي region_id يميز المنطقة في جدول المحافظات. وجود مفتاح أجنبي governorate_id يميز المحافظة في جدول المجمعات السكنية. وجود مفتاح أجنبي city_id يميز المجمع السكني في جدول الوحدات السكنية. وهذا كأنموذج قاعدة بيانات أولي .. يمكنك تطويره والتحسين فيه بحسب حاجتك .. مثلما يمكنك التغاضي عن انموذج بيانات الموظف Employee في حال ما اردت استخدام الانموذج User الذي يأتي مع تطبيق لارافيل بشكل افتراضي.1 نقطة
-
السلام عليكم ورحمة الله وبركاته لقد قمت قبل عدة اشهر ببناء مشروع خاص وقمت ببناء الباك اند بلارافل عن طريق breeze api وقمت ببناء الفرونت اند بريأكت وكانت الامور على مايرام على جهازي لكن صادفت مشكلة بعد الرفع على استضافة عندما اقوم بتسجيل الدخول من الفرونت اند اذا كانت البيانات صحيحة لايخزن التوكن وكأنني لم اقم بتسجيل الدخول رغم انه كان يخزن في الLocalhost واقوم بجلب بيانات اليوزر عن طريق استدعاء الدالة التالية : const getUser = async () => { const { data } = await axios.get("/api/user"); console.log(data); setUser(data); }; ماهي الطريقة الصحيحة لبناء مشروع معتمد على الـAPI لارافل و ريأكت ومن هو المسؤول عن تخزين التوكن هل الفرونت اند او الباك اند وهل الافضل بناء الباك اند ب breeze api او بالطريقة العادية وشكراً1 نقطة
-
مشكلتك متعلقة بأن الوظيفة image في PIL تستخدم لقراءة الصورة الموجودة على جهازك وليس من خلال رابط على الانترنت ولكن لتحل هذه المشكلة ولتقوم بقراءة الصورة بشكل صحيح يجب عليك أن تقوم بالحصول على الصورة من خلال الرابط ويتم ذلك عبر مكتبة requests تستطيع استخدام التابع get المعرف فيها وتزويده بالرابط الخاص بالصورة ثم بعد ذلك حفظ الصورة باستخدام الوظيفة write مع تغيير مسار التخزين output_image كيفما تريد ثم بعد ذلك تستطيع فتح الصورة باستخدام الوظيفة open في image import requests from PIL import Image import pytesseract # تنزيل الصورة import requests url_image = 'https://2.bp.blogspot.com/--I_lNobSfMk/V8MKPK9wDLI/AAAAAAAAY1Q/cyzstRG2EWoobUk0D3xNvojqwYFIeY1NwCLcB/s1600/kalam-hob-english%2B%25282%2529.jpg' output_image = '/path/image.jpg' response = requests.get(url_image) with open(output_image, 'wb') as file: file.write(response.content) image = Image.open(output_image) لا تنسى تغيير output_image حسب حاجتك وبعد ذلك تستطيع التعامل مع الصورة وتطبيق العمليات عليها1 نقطة
-
هل بي انجازي هاذي الدوره استطيع بناء موقع بنفسي ؟ رودني هذا سؤال وانا انجزت 3مسارات بهاذي الدوره1 نقطة
-
السلام عليكم. قمت بالكود التالي قصد إظهار البيانات الخاصة بالمستخدم (الإسم و الصورة) لكل post. // Get All Images const allImages = async (req, res) => { try { let posts = await Image.find() .sort({ date: -1 }) .populate("user", "name avatar id"); res.json(posts); } catch (error) { console.log(error.message); res.status(500).send("Server error"); } }; Image Model const ImageSchema = new Schema({ user: { type: Schema.Types.ObjectId }, title: { type: String, required: true }, description: { type: String, required: true }, photo: { type: Object, default: { url: "", publicId: null, }, }, likes: [ { user: { type: Schema.Types.ObjectId } } ], comments: [ { user: { type: Schema.Types.ObjectId }, text: { type: String }, date: { type: Date, default: Date.now } } ], date: { type: Date, default: Date.now } }); المشكل هو ظهور الid الخاصة بالمستخدم دون ظهور بقية البيانات شكرا على المساعدة1 نقطة
-
عند تعريف ال user يجب ان تقوم بإضافة الـ reference حتى تعرف mongoose ماهي الـ collection التي تقصدها : const ImageSchema = new Schema({ user: { type: Schema.Types.ObjectId, ref: "example" // اسم المودل التي تحتوي المستخدمين }, title: { type: String, required: true }, ... وهذا مثال بسيط يوضح كيفية ربط المودل ببعضهم البعض : const mongoose = require('mongoose'); const { Schema } = mongoose; const personSchema = Schema({ name: String, age: Number, stories: [{ type: Schema.Types.ObjectId, ref: 'Story' }] }); const storySchema = Schema({ author: { type: Schema.Types.ObjectId, ref: 'Person' }, title: String, fans: [{ type: Schema.Types.ObjectId, ref: 'Person' }] }); const Story = mongoose.model('Story', storySchema); const Person = mongoose.model('Person', personSchema);1 نقطة
-
من ناحية صعوبة الأمر , يبدو أنك سوف تواجه بعض الصعوبات إن كنت مبتدأ في البرمجة , أو فقد قمت بإنشاء بعض المشاريع . لأن تحويل من لغة الى لغة أو إنشاء تطبيق لموقع , يتطلب ذلك منك فهم عدة أمور برمجية وآلية عملها , ومعرفة برمجة تطبيقات هاتف باستخدام اللغة مثل flutter . flutter تعتمد على لغة dart , لذا يجب عليك أن تتعلم لغة dart ومن ثم flutter , إضافة إلى ذلك يتوجب عليك فهم كيف تصمم تطبيق في flutter . لأن تصميم التطبيق في flutter ليس كالويب , هناك بعض المفاهيم يجب عليك فهمها ومعرفة التعامل معها . لكن إن كان لديك وقت كافي ومرن , فلا بأس يمكنك البدء بتعلم flutter وتنفيذ مشروعك بسهولة . أما إن كان هناك وقت محدود ودقيق جداً , فيبدو أنك سوف تواجه صعوبات كثيرة في هذه الحالة . أيضاً المقالات التي أشار لها استاذ مصطفى تفيدك كثيرا في هذا الموضوع . يمكنك قراءتها والاستفادة منها1 نقطة
-
سؤال اخر هناك مجال اتمنى لو تضيفون له دوره وهو الامن السيراني الامن بشكل عام اعرف ان المجال صعب وعميق لكن سيكون شي جيد ان تعلمون هذا المجال مثل الحمايه من الهكر حماية المواقع او نظام وكيف تصبح هكر لكن لاهداف خيره وهكذا1 نقطة
-
في حال عملك على مشاريع يوجد فيها داتا ثابته كالجداول مثل بيانات فنادق مستشفيات ..الخ فالأفضل في هذه الحالة النماذج الخاصة بأشجار القرار Decision Tree والغابات العشوائية Random Forest فهي سوف تعطيك الدقة الأفضل وهذه النماذج موجودة في المكتبات التالية sklearn xgboost catboost lightgbm وجميعها مكتبات مميزة عند تدريبها على داتا ثابتة كالجداول في حين لم يكن لدينا داتا ثابته كالصور والنصوص والصوت والفيديو الخيار الأفضل هو استخدام الشبكات العصبونية مثل rnn cnn lstm وغيرها الكثير وفي هذا السياق أفضل المكتبات هي tensorflow keras pytorch مع ملاحظة أن keras مبنية فوق tensorflow وليست منفصلة عنها1 نقطة
-
يوجد العديد من المكتبات الأخرى التي يمكن استخدامها في مجال الذكاء الاصطناعي، ومنها: PyTorch scikit-learn Keras Theano Caffe MXNet Chainer TorchVision وتختلف تلك المكتبات في ميزاتها وكيفية استخدامها، حيث أن TensorFlow هي مكتبة قوية مصممة خصيصًا للتعلم العميق، بينما scikit-learn هي مكتبة أكثر عمومية يمكن استخدامها لمجموعة متنوعة من تطبيقات التعلم الآلي.1 نقطة
-
بالنسبة للسؤال , نعم فإن الاختصاصات الثلاث حتى باقي الاختصاصات مثل gaming أو AI يعود لنفس الاساس . فالبرمجة في جميع الاختصاصات تحتاج الى تعلم مفاهيم اساسيات بالإضافة الى تعلم classes و OOP والوراثة وغيرها من التفكير البرمجة والخوارزميات أيضاً . ويبقى الاختلاف في لغات البرمجة هو طريقة كتابة هذا المفهوم ( مثل الclass ) . وإذا تأسست صحيح , فيمكنك التحول بين الاختصاصات لكن ننصحك بتخصص في اختصاص واحد , وتعلم اختصاص تاني إن أردت ذلك بعدما تكتسب خبرة أكثر من سنة ونصف في اختصاصك وتكون ملم ب90% من جوانب هذا الاختصاص . هذه الطريقة مجربة وآمنة من أجل التوظيف . لأن الشركات أو أصحاب المشاريع يفضلون شخص متخصص بدلا من شخص ملم بكل شيء . إلا إذا كانوا يبحثون عن مدير تقني .1 نقطة
-
يمكنك استخدام الواجهة الخلفية التي تم إنشائها بالفعل بواسطة PHP كأساس لتطبيق الهاتف، لكن فلاتر ليس لها علاقة بـ PHP أي سيتعين عليك تعلم لغة Dart الخاصة بذلك الإطار وأيضًا تعلم الإطار نفسه من أجل برمجة الواجهة الأمامية للتطبيق. وستجدي هنا شرح بخصوص تلك النقطة:1 نقطة
-
هل أنت مهتم بتطوير التطبيقات وتريد تعلم برمجة تطبيق احترافي لكنك لا تعلم كيف تبدأ وما هي الخطوات التي عليك اتباعها كي تطور تطبيقك بأفضل صورة ممكنة؟ هذا المقال يضعك في بداية الطريق ويوضح لك أنواع التطبيقات المختلفة وأبرز مميزاتها ويعرفك على لغات برمجة التطبيقات التي عليك تعلمها بأسلوب بسيط وسهل ما معنى برمجة تطبيق؟ تعني برمجة التطبيق القيام بمجموعة من العمليات والإجراءات الضرورية لكتابة برنامج يعمل على جهاز الحاسوب أو الجوال أو غيرها من الأجهزة القابلة للبرمجة ويؤدي مهمة معينة تفيد مستخدم هذا الجهاز. كي تتمكن من برمجة تطبيق ما يجب أن تضع في الحسبان عدة اعتبارات مثل تحديد نوع التطبيق الذي ستقوم بإنشائه والمنصة أو نظام التشغيل الذي سيعمل تطبيقك عليه والتقنيات التي سوف تستخدمها لتطوير التطبيق وطريقة نشر التطبيق وإتاحته للمستخدمين وغيرها من الأمور التي سنتطرق لشرحها في الفقرات التالية. أهمية برمجة التطبيقات في سوق العمل تأتي أهمية برمجة التطبيقات من أهمية التطبيقات نفسها والاعتماد الكبير عليها لأداء المهام المختلفة في العمل والحياة اليومية. فالأشخاص اليوم ينجزون معظم أعمالهم اليومية من تسوق ودفع وفواتير ولعب وتواصل مع الأصدقاء عبر تطبيقات على هواتفهم أو حواسيبهم، كما تعتمد شركات الأعمال اليوم التطبيقات بشكل أساسي للتسويق لعلامتها التجارية وتسيير أعمالها والتفاعل مع عملائها. لذا تعد برمجة التطبيقات من تخصصات البرمجة الأعلى أجرًا والأكثر طلبًا في سوق العمل، فمعظم الشركات اليوم تحتاج إلى مطورين لبرمجة تطبيقات خاصة بها أو تحسين التطبيقات الحالية وصيانتها والتأكد من أنها تعمل بشكل صحيح، كما أن تطوير التطبيقات يوفر لك فرصة العمل بشكل مستقل وتقديم خدماتك في مواقع العمل الحر العربية والعالمية، كما يمكنك كذلك تطوير تطبيقاتك الخاصة ورفعها على متاجر التطبيقات وتحقيق الربح منها. ما نوع التطبيق الذي يمكنك برمجته؟ قبل أن تبدأ ببرمجة أي تطبيق عليك تحديد نوع التطبيق الذي تنوي برمجته فأنواع التطبيقات كثيرة ومتنوعة وتختلف باختلاف أنواع الأجهزة التي ستعمل عليها وأنظمة التشغيل التي تتوافق معها، وتشمل الأنواع الرئيسية التالية: تطبيق الجوال Mobile App وهو عدة أنواع: تطبيق جوال أصيل Native Mobile App: هو تطبيق مصمم خصيصًا لنظام تشغيل الجوال الذي يعمل عليه، على سبيل المثال هناك تطبيقات جوال مخصصة لنظام أندرويد Android وأخرى مخصصة لنظام iOS ولا يمكنك استخدام تطبيق iOS أصيل على جهاز أندرويد أو العكس. تطبيق جوال هجين Hybrid Mobile App: هو تطبيق قادر على العمل على كافة أنواع المنصات والأجهزة ويبرمج من خلال تقنيات الويب HTML و CSS و JavaScript ثم يحول بتقنيات معينة ليتناسب كل منصة. تطبيق عابر للمنصات Cross-platform App: هو تطبيق قادر على العمل على كافة أنواع المنصات مثل التطبيق الهجين لكنه يبرمج باستخدام تقنيات وأطر عمل قابلة للتشغيل على أكثر من منصة. تطبيق ويب Web App: هو تطبيق يمكنه العمل على أي جهاز لأن الوصول إليه يتم من خلال متصفح الإنترنت، ولا داعي لتحميله على جهازك كي تستخدمه، لكن ليس بمقدوره الوصول إلى موارد الجهاز مثل الكاميرا أو الميكروفون أو جهات الاتصال. تطبيق سطح مكتب Desktop App: هو برنامج مصمم للعمل على أجهزة الحواسيب المكتبية والحواسيب المحمولة التي تعمل بأنظمة التشغيل ويندوز Windows أو ماك macOS أو لينكس Linux، ولا يحتاج عادة للاتصال بالإنترنت ليعمل كل ما عليك هو تثبيته من الموقع المخصص له وبعدها يمكنك تشغيله واستخدامه. بعد أن تعرفت على أنواع التطبيقات المختلفة وعرفت الفرق بينها وحددت نوع التطبيق الذي تريد برمجته قد تتساءل كيف يمكنني برمجة التطبيق الخاص بي، وما التقنيات التي علي تعلمها للقيام بذلك؟ في الفقرات التالية سنعرفك على أهم تقنيات برمجة كل نوع من أنواع التطبيقات. برمجة تطبيقات الجوال كما ذكرنا سابقًا عند برمجة تطبيقات الجوال ستكون أمام عدة خيارات ممكنة، الخيار الأول هو برمجة تطبيق جوال أصيل مخصص لمنصة محددة أو نظام تشغيل معين وهو يبرمج بلغات متوافقة مع هذا النظام، والخيار الثاني هو برمجة تطبيق جوال يعمل على عدة منصات بذات الوقت ويمكنك إنشاء هذا النوع من التطبيقات إما من خلال إنشاء تطبيق جوال هجين يعمل من داخل متصفح مضمن أو عارض ويب WebView موجود داخل تطبيق أصيل، أو من خلال إنشاء تطبيق جوال عابر للمنصات وهو تطبيق يبرمج باستخدام تقنيات وأطر عمل يمكنها أن تعمل على عدة منصات بذات الوقت مثل منصة زامارين Xamarin من مايكروسوفت أورياكت نيتف React Native أو فلاتر Flutter فهذه المنصات تمكنك من كتابة تطبيقات تعمل على أيّ نظام تشغيل بنفس الكود البرمجي. برمجة تطبيق جوال أصيل أبرز منصتين للهواتف المحمولة هما أندرويد Android من جوجل وآي أو إس iOS من آبل، لذا في حال قررت برمجة تطبيق أندرويد فعليك في هذه الحالة استخدام لغة برمجة معتمدة من قبل نظام التشغيل أندرويد مثل لغة جافا Java أو لغة كوتلن Kotlin، أما في حال قررت برمجة تطبيق iOS فعليك في هذه الحالة استخدام لغة مدعومة من قبل هذا النظام مثل لغة البرمجة Objective-C أو لغة سويفت Swift. برمجة تطبيق جوال متعدد المنصات يمكن برمجة تطبيقات جوال قادرة على العمل عبر الأنظمة الأساسية بلغات برمجة وتقنيات وأطر عمل مختلفة ومن أبرز هذه التقنيات نذكر: إطار عمل أيونيك Ionic وهو إطار عمل جافا سكريبت مخصص لبرمجة تطبيقات الجوال الهجينة. لغة درات Dart مع إطار عمل فلاتر Flutter لبرمجة تطبيقات جوال متعددة المنصات. إطار عمل ريآكت نيتف React Native وهو إطار عمل للغة جافا سكريبت لتطوير تطبيقات متوافقة مع كافة أنظمة التشغيل باستخدام نفس الكود البرمجي. برمجة تطبيق ويب يعمل تطبيق الويب عبر شبكة الإنترنت ومن أجل برمجة تطبيق ويب ينبغي عليك الاهتمام ببرمجة الواجهة الأمامية للتطبيق التي تتحكم بمظهره وتمثل كل ما تراه في هذا التطبيق من واجهات وأزرار وخطوط، وتهتم أيضًا ببرمجة الواجهة الخلفية للتطبيق التي تتحكم في كيفية عمله وتهتم بالتعامل مع قاعدة بياناته ومعالجتها وجلب البيانات المطلوبة منها. لكل واجهة من هذه الواجهات لغات وتقنيات خاصة بها ومن أبرز لغات البرمجة والتقنيات المستخدمة في برمجة تطبيقات الويب نذكر: لغات HTML و CSS وجافا سكريبت وهي اللغات الأساسية الثلاثة المستخدمة لتطوير الواجهات الأمامية لتطبيقات الويب. لغة PHP مع إطار عمل لارافيل Laravel لتطوير الواجهات الخلفية للويب. لغة جافا سكريبت JavaScript مع بيئة Node.js وأطر عملها المختلفة مثل أنجولار Angular و فيو جي إس Vue.js و Next.js لتطوير الواجهة الأمامية و إكسبرس Express لتطوير الواجهة الخلفية لتطبيقات الويب لغة بايثون Python مع إطار العمل جانغو Django أو فلاسك flask المخصصة لتطوير الواجهات الخلفية للويب. لغة روبي Ruby مع إطار عملها Ruby on Rails الذي يستخدم لإنشاء تطبيقات الويب بسهولة وسرعة. لغة جافا Java التي توفر العديد من التقنيات الفعالة لبرمجة تطبيقات الويب مثل Servlet و JSP التي تسمح بتطوير ونشر تطبيقات الويب على الخادم بسهولة وتوفر أطر عمل قوية مثل Spring و Spring Boot. برمجة تطبيق سطح مكتب تختلف التقنيات المستخدمة في تطبيقات سطح المكتب باختلاف نظام التشغيل المستهدف ومتطلبات التطبيق نفسه. تستخدم لغات البرمجة وأدوات التطوير الخاصة بكل نظام تشغيل لبناء تجربة مستخدم فعالة وممتعة على أجهزة الكمبيوتر الشخصية والحواسيب المحمولة. هناك العديد من لغات البرمجة والتقنيات المتخصصة التي تساعدك كمبرمج تطبيقات سطح مكتب نذكر منها: لغة C و C# و C++ وهي لغات مناسبة من أجل إنشاء تطبيق سطح مكتب مخصص للعمل على أجهزة ويندوز. لغة Objective-C أو سويفت Swift وإطار العمل كاكاو Cocoa من أجل برمجة تطبيقات سطح مكتب لنظام تشغيل ماك Mac OS. لغة C و C++ لبرمجة تطبيقات سطح مكتب لنظام تشغيل لينكس. لغة البرمجة جافا Java لتطوير تطبيقات سطح مكتب متوافقة مع جميع المنصات وأنظمة التشغيل Windows أو Mac OS أو Linux دون الحاجة لتعديل الكود البرمجي للتطبيق. لغة بايثون Python لبرمجة تطبيقات سطح مكتب متعددة المنصات بمساعدة مكتبات مخصصة مثل PyQt وPySide و Tkinter لغة جافا سكريبت مع إطار عمل إلكترون Electron من أجل إنشاء تطبيقات سطح مكتب متوافقة مع كافة أنظمة التشغيل باستخدام كود برمجي واحد يستخدم HTML وCSS وجافا سكريبت JavaScript. إطار عمل Universal Windows Platform أو اختصارًا UWP من أجل إنشاء تطبيق سطح مكتب مخصص لنظام تشغيل ويندوز 10 و ويندوز 11 إطار عمل Windows Presentation Foundation أو اختصارًا WPF لتطوير تطبيقات سطح مكتب لنظام ويندوز باستخدام لغة ترميز التطبيق الموسعة XAML وهو متوافق مع إطار عمل دوت نت NET الذي يحتوي على العديد من المكتبات لتحسين وظائف التطبيق الخاص بك. يمكنك استخدام مكتبة واجهة المستخدم الرسومية GTK+ مع لغات برمجة مختلفة مثل سي C و Python و C++ وروبي لإنشاء واجهات تطبيقات سطح المكتب وهي متوافقة مع أنظمة التشغيل المختلفة. يمكنك استخدام نماذج WinForms لإنشاء واجهات لتطبيقات سطح مكتب تعمل على ويندوز بسهولة من خلال السحب والإفلات. ما هي خطوات برمجة تطبيق إذا أردت تطوير تطبيق ما مهما كان نوعه فعليك اتباع مجموعة من الخطوات أو المراحل قبل أن يصبح هذا التطبيق متاح للاستخدام، وفيما يلي أهم هذه المراحل: تحديد فكرة التطبيق تحديد نوع التطبيق تحديد التقنيات التي سيبرمج بها التطبيق تحديد الوظائف الرئيسية للتطبيق تصميم واجهة التطبيق برمجة واجهات التطبيق برمجة وظائف التطبيق اختبار التطبيق نشر التطبيق التحسين المستمر للتطبيق تسويق التطبيق لنناقش كل خطوة من هذه الخطوات بمزيد من التفصيل ونتعرف على أبرز المهام التي علينا القيام بها لإنجازها. 1. تحديد فكرة التطبيق أولى خطوات برمجة التطبيق الخاص هي وضع فكرة التطبيق وميزاته والهدف منه والفئة المستهدفة وتحديد المشكلة التي يحلها والميزة التنافسية التي سيوفرها عن غيره من التطبيقات المشابهة. وفي حال لم تكن صاحب الفكرة أو التطبيق الذي ستطوره فستحتاج عندها لأن تجري عدة نقاشات مع الجهة التي ستطور لها التطبيق لاستيضاح كافة هذه التفاصيل حوله. 2. تحديد نوع التطبيق في هذه الخطوة عليك تحديد نوع التطبيق المناسب لتحقيق الأهداف التي وضعتها في الخطوة السابقة، وتحدد نوع الجهاز ونظام التشغيل الذي سيعمل عليه التطبيق وغيرها من المتطلبات اللازمة لعمل التطبيق وبناء عليها يمكنك متابعة خطوات التطوير. 3. تحديد التقنيات التي سيبرمج بها التطبيق فكما وضحنا سابقًا لكل نوع تطبيقات تقنياته ولغات البرمجة الخاصة به، حدد كافة التقنيات التي ستحتاجها للبدء ببرمجة التطبيق والعمل على إعداد بيئة التطوير اللازمة للعمل. 4. تحديد الوظائف الرئيسية للتطبيق ابدأ بوضع قائمة بجميع الميزات والوظائف التي يحتاجها التطبيق للعمل وأولوية تنفيذها بناء على المتطلبات التي جمعتها في الخطوة الأولى، قد تحتاج هذه الوظائف للتعديل فيما بعد بسبب عدم وضوح المتطلبات أو وجود رؤية شاملة عن التطبيق في البداية. 5. تصميم واجهة التطبيق حان الآن وقت تصميم واجهات التطبيق وإطاراته الهيكلية Wireframes وتوضح من خلالها لمستخدمي هذا التطبيق مميزاته وطريقة عمله والوظائف التي يؤيدها بدقة، يمكنك في هذه المرحلة استخدام إحدى أدوات تصميم واجهات المستخدم مثل فيجما Figma، كما ينبغي أن تحرص على تصميم واجهات مستخدم مثالية ذات مظهر متسق وتحقق أفضل تجربة لمستخدمي التطبيق وتتبع أفضل النصائح لتصميم واجهة المستخدم. 6. برمجة واجهات التطبيق بعد تصميم الواجهات تبدأ مرحلة برمجة واجهات التطبيق أو ما يعرف ببرمجة الواجهات الأمامية للتطبيقات frontend وهي تشمل كل العناصر التي يراها المستخدمون ويتفاعلون معها من نصوص وأزرار وصور وما شابه. 7. برمجة وظائف التطبيق قد تسير هذه الخطوة بالتزامن مع الخطوة السابقة وفيها يتم البدء بتحقيق قائمة الوظائف والمميزات المطلوبة لعمل التطبيق وبرمجة واجهته الخلفية كما يتم ربط الواجهة الأمامية والخلفية مع بعضهما، الجدير بالذكر بأنك لست مضطرًا لتحقيق كل الوظائف بآن واحد بل يمكنك تنفيذ وظيفة معينة والتأكد من عملها بالشكل الصحيح قبل الانتقال لوظيفة أخرى، تحتاج في هذه المرحلة لربط. 8. اختبار التطبيق بعد الانتهاء من برمجة التطبيق عليك اختبار خلوه من الأخطاء وللاختبار نوعان: اختبار يدوي واختبار مؤتمت، يمكن إجراء الاختبار اليدوي عن طريق إتاحة التطبيق للتجريب من قبل عينة من الأشخاص الحقيقيين للحصول على ملاحظاتهم والتأكد من أن كل الميزات تعمل بالشكل المطلوب واختبار قابلية الاستخدام وأن واجهات التطبيق سهلة وتوفر تجربة مستخدم سهلة وأنه متوافق مع مختلف المنصات والشاشات وتصلح أي أخطاء ومشكلات مكتشفة قبل نشر تطبيقك، كما يمكنك أتمتة عملية الاختبار بالتحقق من صحة التطبيق ومعرفة ما إذا كان يعمل كما هو متوقع أم لا باستخدام أدوات اختبار آلية تسرع عملية الاختبار. 9. نشر التطبيق في هذه المرحلة يمكنك نشر التطبيق للمستخدمين، يمكنك نشر التطبيق الخاص على موقع خاص بك ثم توجيه المستخدمين لتنزيله وتثبيته من هناك كما يمكنك نشره على أحد متاجر التطبيقات الرسمية بحسب نوع التطبيق ففي حال كان تطبيقك عبارة عن تطبيق أندرويد سيتوجب عليك نشره على متجر Google Play وفي حال كان تطبيق iOS عليك نشره على متجر App Store وفي حال كان تطبيق سطح مكتب موجهًا لنظام تشغيل ويندوز عليك نشره في متجر مايكروسوفت Microsoft Store وفي حال كان تطبيق سطح مكتب لنظام ماك macOS عليك نشره في متجر آبل Apple Store …إلخ. الجدير بالذكر أن نشر التطبيق على أحد متاجر التطبيقات يحتاج لتوفير مجموعة من المعايير والشروط التي عليك الالتزام بها لقبول التطبيق لذا من الضروري أن تكون ملمًا بالشروط التي تفرضها هذه المنصات وتلتزم بها خلال برمجة التطبيق الخاص بك. 10. التحسين المستمر للتطبيق بعد نشر التطبيق الخاص بك وإتاحته للمستخدمين عليك مراقبة أدائه وتتبع مراجعات المستخدمين حوله وإجراء عمليات التكامل المستمر والنشر المستمر CI/CD وتطبيق الإصلاحات والتحسينات الضرورية عندما تستدعي الضرورة. 11.تسويق التطبيق من الضروري أن تسوق لتطبيقك بشكل صحيح لا سيما إن كنت تنوي الربح من التطبيق ووضع إعلانات بداخله لذا احرص على اتباع الاستراتيجيات التسويقية الفعالة التي من شأنها إيصال التطبيق للجمهور المستهدف. مصادر تعلم برمجة تطبيق بعد تحديد نوع التطبيق الذي ترغب بتطويره ستبدأ رحلة البحث عن المصادر التي يمكن أن تتعلم من خلالها برمجة تطبيق متكامل من الألف للياء، قد تفكر في اتباع مسار جامعي ودخول أحد الكليات التقنية لكن التعلم في هذه الحالة سيكون طويلًا ومشتتًا، أو يمكنك اللجوء للتعلم الذاتي واعتماد مصادر تعليمية تفضلها من دروس ومقالات وكتب ودورات عبر الإنترنت ومعسكرات تدريبية وغيرها وهنا ستجد الكثير من المصادر وقد تتشتت فيما بينها لا سيما إن لم تتمكن من وضع خطة تعلم واضحة ومدروسة والالتزام بها الأمر الذي قد يسبب لك الإحباط والفشل. لذا من الضروري أن تحدد أحد مصادر التعلم المنظمة والموثوقة وتلتزم بخطة تعلم واضحة وإذا كنت تبحث عن مصدر موثوق للتعلم باللغة العربية فقد وفرت لك أكاديمية حسوب العديد من مصادر التعلم لمعظم التقنيات التي تحتاجها لتتعلم برمجة التطبيقات من الصفر حتى الاحتراف وفي فقراتنا التالية نسلط الضوء على أبرز هذه المصادر: تعلم برمجة تطبيق ويب إذا قررت تعلم تطوير الويب أنصحك باتباع دورة تطوير تطبيقات الويب باستخدام لغة Ruby حيث ستتعلم في هذه الدورة برمجة العديد من تطبيقات الويب بلغة البرمجة روبي وإطار عملها الشهير ريلز Rails مثل برمجة تطبيق ويب لشبكة اجتماعية تشبه تويتر، وتطبيق ويب لمجتمع إلكتروني وغيرها من التطبيقات المعدة من قبل نخبة من المطورين المحترفين والتي تؤهلك لدخول سوق العمل بسرعة واحترافية. كما توفر الأكاديمية دورة تطوير تطبيقات الويب باستخدام لغة PHP وإطار عملها لارافل Laravel التي توفر لك أكثر من عشر مسارات شاملة ويمكنك من خلال اتباعها تطوير العديد من تطبيقات الويب الاحترافية مثل نظام إدارة محتوى ومتجر إلكتروني وغيرها من تطبيقات الويب المتنوعة التي تعزز سيرتك الذاتية وتساعدك في العثور على فرصة عمل مناسبة. وفي دورة دورة تطوير التطبيقات باستخدام لغة Python ستتعلم برمجة تطبيق ويب خطوة بخطوة باستخدام إطار العمل جانغو Django وتبرمج تطبيق لإدارة المهام ومتجر إلكتروني كامل المميزات. وفي حال رغبت بتطوير واجهات التطبيق الأمامية فقط أو رغبت في تعلم التطوير الكامل full-stack فيمكنك مطالعة دورة تطوير واجهات المستخدم ففيها تتعلم بناء واجهات لعدة تطبيقات باستخدام التقنيات الأساسية HTML و CSS وجافاسكربت JavaScript إلى جانب تقنيات حديثة وأطر عمل مثل بوتستراب Bootstrap 5 و Sass و Webpack وHugo التي تسرع عملك وتجعله أكثر احترافية. تعلم برمجة تطبيق أندرويد و iOS إذا كنت مهتمًا بتطوير تطبيقات الجوال يمكنك مطالعة دورة تطوير التطبيقات باستخدام لغة Python والتي ستتمكن من خلالها من تطوير تطبيق لإدارة المهام ومتجر إلكتروني متكامل وغيرها من التطبيقات باستخدام إطار العمل جانغو Django وفلاسك Flask وهما من أشهر أطر العمل المستخدمة في تطوير تطبيقات الويب. كما توفر دورة تطوير التطبيقات باستخدام جافا سكريبت عدة مسارات غنية بالمعلومات تعلمك خطوة بخطوة برمجة تطبيقات ويب متعددة المنصات تعمل على أجهزة أندرويد و iOS من بينها تطبيق جوال للوصفات باستخدام مكتبة رياكت React مع إطار عمل أيونيك Ionic وتطبيق محادثة شبيه بتطبيق واتس أب باستخدام إطار عمل React Native وغيرها من التطبيقات المختلفة. كما يمكنك الاستفادة من الدروس والمقالات المتعددة التي توفرها الأكاديمية والتي توفر شروحات متنوعة حول برمجة تطبيقات الجوال التي تناسب المبتدئين والمحترفين على حد سواء. تعلم برمجة تطبيق سطح مكتب لازالت تطبيقات سطح المكتب مطلوبة في سوق العمل لاسيما من قبل الشركات التي تهتم بخصوصية وحماية بياناتها، فإذا كنت مهتمًا ببرمجة هذا النوع من التطبيقات ستجد في أكاديمية حسوب دورة تطوير التطبيقات باستخدام لغة Python والتي ستتعلم من خلالها أساسيات تطوير تطبيقات سطح المكتب وتطبق ما تعلمته على تطوير تطبيق لإدارة المهام ومتجر إلكتروني متكامل باستخدام جانغو Django وهو إطارعمل قوي للغة بايثون يمكنك من تطوير مواقع ويب وتطبيقات ويب آمنة وسهلة الصيانة بسرعة كبيرة. كما ستجد في دورة تطوير التطبيقات باستخدام جافا سكريبت مسارًا متخصصًا في شرح برمجة تطبيق سطح مكتب باستخدام إطار عمل إلكترون Electron js بدءًا من بناء واجهات المستخدم وصولًا لنشر التطبيق. ليس هذا فحسب فأكاديمية حسوب توفر ضمن موقها الكثير من المقالات والدروس والكتب التعليمة التي تشرح لك الكثير من الأمور المتعلقة بتطوير التطبيقات سواء تطبيقات الويب أو تطبيقات الجوال أو تطبيقات سطح المكتب والتقنيات التي تحتاج لتعلمها والتي تفيدك سواء كنت مبرمج تطبيقات مبتدئ أو خبير. الخلاصة بهذا نكون وصلنا لنهاية مقالنا الذي شرحنا فيه كل ما يتعلق ببرمجة التطبيقات بأنواعها المختلفة سواء تطبيقات الجوال أو تطبيقات الويب أو تطبيقات سطح المكتب وشرحنا خطوات برمجتها وأهميتها في سوق العمل واللغات والتقنيات التي عليك اكتساب خبرة بها لتبدأ عملك كمبرمج تطبيقات وأفضل مصادر تعلمها. وتذكر أن تعلم برمجة تطبيق قد يكون تحديًا في البداية، ولكنه ليس أمرًا صعبًا إذا نظمت وقتك في التعلم وبذلك الوقت والجهد الكافيين لذلك، فإن كنت بالفعل مهتمًا ببرمجة التطبيقات ولديك فكرة تطبيق مميزة تود تحقيقها فابدأ من الآن في رحلة برمجة التطبيقات وحوّل فكرتك إلى واقع. وفي حال واجهتك أي مشكلة أو كان لديك أي تساؤل لا تتردد في مشاركتنا إياه في التعليقات أسفل المقال أو طرحه في القسم المخصص في صفحة الأسئلة والأجوبة الخاصة بالأكاديمية. اقرأ أيضًا دليلك الشامل إلى برمجة التطبيقات مدخل إلى تطوير البرمجيات Software Development كيف تصبح مبرمج تطبيقات محترف1 نقطة
-
إذا كنت مهتمًا ببرمجة الألعاب وتتساءل من هو مطور الألعاب وما هي مهامه ومسؤولياته، وما أبرز المراحل والخطوات التي عليه اتباعها لبرمجة لعبة خاصة به، وهل مجال تطوير الألعاب الإلكترونية مناسب لك ويوفر فرصًا وظيفية جيدة أم لا فهذا المقال لك. سنعرّفك في مقال اليوم على خطوات تطوير الألعاب ونركّز بشكل خاص على توضيح مهام مبرمج الألعاب أو مطور الألعاب المسؤول عن كتابة الكود البرمجي الذي ينفذ تصميم اللعبة ويحولها من فكرة مجردة إلى لعبة ممتعة نابضة بالحياة. أهمية مجال تطوير الألعاب لنوضح بداية أهمية مجال تطوير الألعاب الذي يعد واحدًا من أكثر المجالات البرمجية سرعةً في النمو وطلبًا في سوق العمل ولا غرابة في ذلك فبحسب موقع Exploding Topics هناك حوالي 3.09 مليار مستخدم لألعاب الفيديو في العالم ومن المتوقع أن يصل هذا الرقم إلى 3.32 مليار بحلول عام 2024 فالألعاب الإلكترونية وألعاب الفيديو أصبحت وسيلة أساسية للترفيه وقضاء الوقت. وقد أصبحت صناعة الألعاب تشكل جزءًا مهمًا من الإيرادات وقد تجاوزت صناعة السينما والموسيقى في بعض الدول فبحسب إحصائية نشرها موقع Statista تشكل الألعاب الإلكترونية أكبر قطاع في سوق الترفيه والإعلام وقد بلغت إيراداتها 91.8 مليار دولار في عام 2022، وشكلت 50% من حجم السوق العالمي. وكانت ألعاب الهواتف الجوالة هي أكثر أنواع الألعاب ربحية. هذه الأرقام تشير إلى شعبية كبيرة للألعاب الإلكترونية في جميع أنحاء العالم وتوضح الطلب الكبير على مطوري ومصممي الألعاب وغيرهم من المتخصصين في صناعة الألعاب والرواتب العالية التي يتقاضونها وتعد رواتب مطوري الألعاب مرتفعة مقارنةً بباقي التخصصات وبالرغم من أن راتب مطور الألعاب قد يختلف حسب الدولة والخبرة والمهارات والمجال إلا أن مهنة تطوير الألعاب الإلكترونية رائجة ومجزية جدًا وبحسب استبيان موقع stackoverflow لعام 2023 يبلغ متوسط رواتب مطوري الألعاب 71 ألف دولار سنويًا. فإذا كنت تحب تطوير الألعاب الإلكترونية وتود بأن تصبح مبرمج ألعاب فهذا سيضمن لك فرصة عمل براتب جيد ويوفر لك حرية اختيار العمل كموظف في إحدى شركات الألعاب أو العمل كمستقل وإطلاق ألعابك الخاصة، لكن تذكر أن هذا المجال تنافسي ويحتاج منك لامتلاك العديد من المهارات والتقنيات ومتابعة التطورات المستمرة في مجال صناعة الألعاب لتتمكن من إصدار ألعاب مميزة تنال شعبية واسعة. خطوات تطوير الألعاب يتضمن تطوير الألعاب الإلكترونية العديد من المراحل وقد تختلف هذه المراحل من لعبة لأخرى، لكن هناك مجموعة أساسية من الخطوات المطلوبة التي يحتاج أي مبرمج ألعاب لمعرفتها من أجل تصميم لعبة إلكترونية متكاملة وهي: وضع تصور أولي للعبة وضع خطّة لتنفيذ اللعبة تطوير وبرمجة اللعبة اختبار اللعبة إطلاق اللعبة الصيانة والتطوير المستمر لنشرح كل خطوة من هذه الخطوات بمزيد من التفصيل ونوضح كيف يمكنك كمطور ألعاب القيام بها. 1. وضع تصور أولي للعبة تحدد هذه المرحلة ما هي الفكرة العامة للعبة وما قصتها وما نوعها، وما الأهداف التي يحتاج اللاعب لأن يحققها في اللعبة، ومن هو الجمهور المستهدف لها وما المنصة التي ستعمل عليها اللعبة، ومن المفيد هنا الاطلاع على الألعاب المنافسة للعبة المقترحة للتفكير في مميزات تنافسية تجعل اللعبة الإلكترونية تتميز عن الألعاب المشابهة لها. 2. وضع خطة لتنفيذ اللعبة يحتاج مطور الألعاب في هذه المرحلة إلى التعاون مع مصمم الألعاب لتحديد تفاصيل أكثر عن اللعبة مثل تخيل قصة اللعبة وشخصياتها ويضع كافة قواعدها وآليات لعبها وطريقة تقدم اللاعبين فيها وكيفية تحقيق الأهداف كما يرسم نماذج أولية وقصص مصورة تساعد على فهم اللعبة وتصورها بشكل أفضل ووضع مستند تصميم اللعبة Game Design Document وهو مستند يلخص كل خطة اللعبة ويسهل فهمها كما يضع جدول زمني يوضح مراحل تنفيذ اللعبة الإلكترونية والوقت المطلوب لكل مرحلة. 3. تطوير وبرمجة اللعبة في هذه الخطوة يبدأ مبرمج الألعاب مرحلة التنفيذ الأساسي لخطة اللعبة الموضوعة في الخطوة السابقة بدءًا من الحصول على كافة الأصول assets المطلوبة للعبة كالشخصيات المتحركة أو ما يعرف بالسبرايتس game sprites والرسومات والأصوات وبيئات اللعب أو يتعاون مع مصمم الألعاب ومصمم الصوتيات للحصول على مصادر مخصصة للعبة ثم يبدأ مطور الألعاب بكتابة الشيفرة البرمجية لإضافة المنطق البرمجي لهذه الأصول. 4. اختبار اللعبة بعد الانتهاء من برمجة اللعبة تخضع اللعبة للاختبار ويطلب مطور الألعاب تجربتها من قبل مجموعة من المستخدمين للتأكد من أنها تعمل كما هو متوقع والتحقق من عدم وجود أي أخطاء أو مشكلات وإصلاحها في حال وجودها والتأكد من أنها توفر تجربة لعب جيدة وممتعة لهم. 5. إطلاق اللعبة بعد التأكد من أن اللعبة تعمل بالشكل المطلوب يجب على مبرمج الألعاب نشر اللعبة التي طورها على منصة اللعب المستهدفة أو رفعها على متجر الألعاب المتخصص كي يتمكن المستخدمون الفعليون من تجربتها واللعب بها. 6. الصيانة والتطوير المستمر لا ينتهي دور مبرمج الألعاب بعد إصدار ونشر اللعبة بل تحتاج كمطور العاب إلى متابعة آراء تعليقات اللاعبين حول اللعبة باستمرار والحصول على رأيهم حول اللعبة وأخذ اقتراحاتهم بشأنها بعين الاعتبار وإضافة الميزات والتحسينات التي يقترحونها لجعلها أكثر جاذبية ومتعة. هل تطمح لتصبح مطور ألعاب فيديو محترف وتحويل شغفك إلى مهارة عملية بطريقة احترافية وسهلة. ستحقق لك دورة تطوير الألعاب من أكاديمية حسوب هذا الهدف، حيث ستتعلم في هذه الدورة كل ما تحتاجه لتطوير ألعابك الخاصة من الصفر بإشراف خبراء محترفين. دورة تطوير الألعاب ابدأ رحلة صناعة الألعاب ثنائية وثلاثية الأبعاد وابتكر ألعاب ممتعة تفاعلية ومليئة بالتحديات. اشترك الآن من هو مطور الألعاب مطور الألعاب أو مبرمج الألعاب game developer هو الشخص المسؤول عن إنشاء الألعاب الإلكترونية وتحويل اللعبة من فكرة إلى واقع قابل للعب عبر منصات مختلفة وتطوير بيئات الألعاب ودمج تقنيات الذكاء الاصطناعي في بيئة اللعب باستخدام لغات البرمجة أو بالاستفادة من أحد محركات تطوير الألعاب. يعمل مبرمج الألعاب عادة إما ضمن فريق متكامل في شركة تطوير ألعاب أو استوديو ألعاب متخصص في برمجة وتطوير الألعاب الإلكترونية ويضم مبرمجين ومصممين ومهندسي صوت ورسامين وكتّاب إنشاء كافة موارد تطوير لعبة، وقد يعمل بشكل مستقل في حال برمجة لعبة بسيطة ومحدودة وتعتمد على موارد جاهزة. يتخصص أي مبرمج ألعاب عادةً ببرمجة نوع أو أسلوب محدد من أنواع الألعاب الإلكترونية كالألعاب الاستراتيجية أو الألعاب المنطقية وقد يتخصص كذلك في برمجة لعبة مخصصة لمنصة محددة مثل ألعاب الجوال أو ألعاب الحاسوب أو ألعاب بلاي ستيشن …إلخ. مهام مطور الألعاب تختلف مهام مطوّر الألعاب بحسب طبيعة اللعبة وتعقيدها والمنصة التي تستهدفها، كما تعتمد طبيعة مهامه على كونه سيبرمج لعبته بشكل فردي أم سيعمل ضمن فريق عمل متخصص وهل سيطور الألعاب بشكل مستقل أم لصالح شركة أو استوديو ألعاب معين فكل هذه العوامل تؤثر على طبيعة المهام التي سيقوم بها في دورة حياة اللعبة. بالرغم من أن تطوير الألعاب الإلكترونية أمر معقد ويحتاج للكثير من العمل إلا أن تطوير لعبة بمفردك أمر ممكن وغير مستحيل، فإذا افترضنا أن مطور ألعاب سيطور لعبته بنفسه بالكامل، في هذه الحالة ستكون أبرز المهام التي يقوم بها هي كالتالي: التخطيط للعبة اختيار محرك تطوير اللعبة الحصول على موارد اللعبة برمجة اللعبة اختبار اللعبة صيانة اللعبة وتحسينها لنناقش كل مهمة من هذه المهام بمزيد من التفصيل. التخطيط للعبة يحتاج مطور الألعاب في هذه المرحلة إلى التعاون من مصمم الألعاب للتخطيط للعبة بدءًا من تصميم فكرتها الأولية وتحديد نوع اللعبة والمنصة التي تستهدفها ومتطلباتها وإنتاج نماذج أولية لأفكاروطرق اللعب فيها وقواعد الربح والخسارة. اختيار محرك تطوير اللعبة يلجأ مطور الألعاب في هذه المرحلة إلى الاعتماد على أحد محركات الألعاب الجاهزة التي تسهّل وتسرّع تطوير الألعاب مثل محرك ألعاب يونتي Unity أو أن ريل Unreal أو جودو Godot وكما يمكن للمطور المحترف إنشاء المحرك الذي سيتم تشغيل اللعبة عليه. الحصول على موارد اللعبة يتواصل المطور في هذه المرحلة مع المصممين والفنانين ومهندسي الصوت لإنشاء كافة موارد اللعبة game assets من رسومات وأصوات أو يلجأ للحصول عليها من مصادر جاهزة حيث تتوفر العديد من المواقع والمنصات التي توفر مصادر مجانية متنوعة خالية الحقوق يمكن لمطوري الألعاب الإلكترونية الاعتماد عليها. برمجة اللعبة بعد تأمين كافة موارد اللعبة يبدأ مطور الألعاب بإضافة المنطق البرمجي للعبة وكتابة كافة الأكواد البرمجية اللازمة لتحريك الشخصيات وتشغيل الأصوات وضمان تفاعل كافة المكونات ضمن بيئة اللعبة بالشكل الصحيح وجعلها قابلة للعب وفق الهدف المطلوب من اللعبة. اختبار اللعبة بعد الانتهاء من برمجة اللعبة يجب ان يختبر مطور الألعاب لعبته على المنصة المستهدفة ويقيم أداءها ويتأكد من أنها تعمل على المنصة المطلوبة بالشكل الصحيح وأنها لا تحتوي أي أخطاء في الشيفرات البرمجية أو في آلية اللعب. صيانة اللعبة وتحسينها أخيرًا يحتاج أي مبرمج ألعاب إلى إصلاح أي أخطاء برمجية أو مشكلات فنية تظهر في اللعبة كما قد يحتاج لإجراء مجموعة من التعديلات البرمجية لنقل اللعبة من منصة إلى أخرى في حال برمجة لعبة أو تطوير لعبة متعددة المنصات. مهارات مطور الألعاب تختلف برمجة الألعاب الإلكترونية عن برمجة أنواع التطبيقات الأخرى بكونها تحتاج لعدة مواهب ومهارات فنية وإبداعية وتحليلية لتطوير لعبة ناجحة تجذب المستخدمين. وإليك قائمة بأهم المهارات التي يحتاج إليها مطورالألعاب الناجح: يحتاج مبرمج الألعاب لوجود معرفة برمجية بإحدى لغات برمجة الألعاب وبرامج تطوير وتشغيل الألعاب. يحتاج مبرمج الألعاب لتعزيز التفكير المنطقي لديه وامتلاك مهارة عالية في حل المشكلات فهذه مهارة أساسية لأي مطور أو مبرمج وهي تفيد مبرمج الألعاب بشكل خاص لبرمجة الألعاب بسرعة وكفاءة وتصحيح أي أخطاء مكتشفة في برمجة اللعبة بسهولة أكبر. الحس الإبداعي لإنشاء الألعاب بأفكار مثيرة وتصميم مستوياتها وأسلوب لعبها والتنقل في بيئة اللعب بطريقة تجذب المستخدم وتحفزه على اللعب. التنظيم والقدرة على إدارة الوقت وإكمال المهام بكفاءة وإطلاق اللعبة في الموعد المحدد لها. امتلاك شغف بالألعاب الإلكترونية ومواكبة أحدث التقنيات فمجال تطوير الألعاب متجدد ويتحدث بشكل مستمر. القدرة على العمل الجماعي والتعاون والتواصل الفعال وشرح أفكارك بوضوح وإيجاز لباقي أعضاء الفريق المساهمين في تطوير وتصميم الألعاب أو العملاء وأصحاب المصلحة. إذا كنت تنوي كمبرمج ألعاب أن تصمم موارد ألعابك بنفسك ستحتاج عندها لتطور مهارات إضافية مثل مهارات الرسم ومبادئ تصميم الألعاب وهندسة الصوت لكن هذا الأمر سيزيد العبء والعمل لذا يمكنك الاعتماد على استخدام تصاميم وأصوات جاهزة أو توظف متخصصين لإنشائها لك، ستجد في مواقع العمل الحر مثل مستقل وخمسات أشخاصًا أكفاء يقدمون هذه الخدمات. خيال واسع ومهارة في سرد القصص لإنشاء قصة محفزة تشجع المستخدمين على فهم الهدف من اللعبة بشكل جيد وإبراز شخصياتها وأحداثها. كيف أصبح مطور ألعاب؟ أمامك عدة خيارات مختلفة يمكنك من خلالها تعلم تطوير وبرمجة الألعاب إما من خلال التعليم الجامعي في إحدى كليات البرمجة وعلوم الحاسوب والتخصص بعدها في مجال برمجة وتصميم الألعاب لكن هذا الطريق طويل ويستغرق وقتًا ويضطرك لتعلم الكثير من المواد التي لا صلة لها بمجال تطوير الألعاب. كما يمكنك تعلم تطوير الألعاب بشكل ذاتي وتعلم كافة المهارات اللازمة التي تمكنك من بناء ألعاب احترافية وناجحة، وإليك أهم عشر خطوات لتصبح مطور ألعاب ناجح: تعلّم أنواع الألعاب الإلكترونية المختلفة وطريقة اللعب بها ومكوناتها المختلفة حتى تتمكن من وضع خطة تعلّم واضحة بحسب طبيعة الألعاب التي ستطورها والتقنيات التي تحتاج لتعلّمها وتحدد أفكار ألعابك وميزات اللعبة وطريقة لعبها بشكل صحيح. اعتمد على مصادر التعلم الموثوقة والحديثة المتاحة عبر الإنترنت حول تصميم الألعاب وبرمجتها وتطويرها من مقالات ودروس وكتب ومقاطع فيديو ومنتديات ومجتمعات ودورات تدريبية حول تطوير وتصميم الألعاب. تعلم المهارات التقنية اللازمة لك كمطور ألعاب وابدأ من أساسيات البرمجة ثم تعلم إحدى لغات برمجة الألعاب مثل لغة جافا أو ++C أو Lua واكتسب خبرة في استخدام أحد محركات تطوير الألعاب Game Engines لبناء وتشغيل الألعاب الخاصة بك. تعلم أساسيات الرياضيات والفيزياء فهما مهارتان ضروريتان لأي مطور ألعاب لتحريك عناصر اللعبة بشكل صحيح وواقعي. تعلم طريقة التعامل مع قواعد البيانات في حال رغبت بتطوير ألعاب متقدمة تحتاج لتخزين البيانات مثل الألعاب متعددة اللاعبين عبر الإنترنت وتخزين معلومات حول اللاعبين والمستويات وتتبع التقدم في اللعبة وحفظ الإنجازات والجوائز والإحصائيات …إلخ. اعمل على تطوير ألعاب خاصة بك، إذا كنت مبرمج ألعاب مبتدئ يمكنك البدء بألعاب بسيطة وبدائية والانتقال بعدها لألعاب أكثر تقدمًا واطلب من أصدقائك تجربة لعبتك وإعطائك رأيهم حولها وقم بتحسينها فهذا يمكنك من تطبيق المهارات النظرية واكتساب خبرة عملية وبناء معرض أعمال خاص بك. تعلم طريقة سرد قصص الألعاب وكتابة حبكتها بشكل مشوّق ومقنع يجذب اهتمام المستخدمين وتحفّزهم على استكشاف اللعبة والتفاعل معها، والفرق بين الروايات الخطية linear narratives التي تكتب أحداث اللعبة بتسلسل زمني وغير الخطية non-linear narratives التي تكتب الأحداث بشكل متفرق ودون مراعاة الترتيب الزمني. احرص على حضور أي فعاليات تخصّ صناعة الألعاب والتعرف على الأشخاص العاملين في مجال تطوير الألعاب والاستفادة من أفكارهم وتجاربهم وفهم المزيد حول صناعة الألعاب وتطوير مهاراتك وخبراتك. طوّر مهاراتك الناعمة مثل التنظيم والتواصل والتعاون والتفكير الإبداعي وحل المشكلات فهذه مهارات ضرورية لأي مبرمج ألعاب وتساعدك على التميّز في سوق العمل. ابحث عن فرصة عمل مناسبة من خلال التعاقد مع استوديوهات ألعاب أو شركات متخصصة في تطوير ألعاب احترافية أو العمل بشكل مستقل وتطوير ألعاب خاصة به ونشرها على متاجر الألعاب والربح منها. الأسئلة الشائعة بمجال تطوير الألعاب نختم المقال ببعض الأسئلة الشائعة حول تصميم تطوير الألعاب: ما هو تطوير الألعاب؟ تطوير الألعاب هو أحد التخصصات البرمجية الذي يتضمن إنشاء ألعاب إلكترونية من خلال المرور بعدة مراحل أهمها تصميم اللعبة وبرمجتها واختبارها ونشرها في متاجر الألعاب أو المنصات المتخصصة ويتطلب تطوير الألعاب الاحترافية عادة تضافر جهود فريق عمل متخصص يضم مبرمجي ألعاب ومصممين ورسامين وبالرغم من ذلك هناك ألعاب ناجحة وذات شعبية كبيرة أنشأها مطور ألعاب واحد فقط. كيف أبدأ في برمجة الألعاب؟ يمكنك البدء بتعلم أساسيات تطوير اللعبة، مثل مبادئ تصميم اللعبة وآليات اللعبة وأنواع الألعاب. يمكنك أيضًا استخدام البرامج التعليمية أو الكتب أو الدورات التدريبية عبر الإنترنت لتتعلم كيفية استخدام محركات الألعاب وأدواتها. يمكنك أيضًا الانضمام إلى المجتمعات والمنتديات عبر الإنترنت للحصول على تعليقات ونصائح من مطوري الألعاب الآخرين ما الفرق بين مطور الألعاب ومصمم الألعاب؟ مصمم الألعاب هو المسؤول عن الجانب الإبداعي والجمالي للعبة ويجب أن يتملك مهارات في الرسم والتصميم الرسومي وإنشاء الوسائط المتعددة أما مطور الألعاب فهو المسؤول عن الجانب التقني والبرمجي للعبة وتحويل تصميمها إلى تطبيق فعلي ويجب أن يمتلك مهارات بلغات البرمجة ومحركات الألعاب والرياضيات والفيزياء. كي تصبح مطور لعبة ناجح تحتاج كمطور ألعاب إلى التعاون والتواصل مع مصمم الألعاب ومعرفة الفرق بين مهامك ومهامه، كما يمكن أن يتولى مطور الألعاب في بعض الحالات مسؤولية التطوير والتصميم بنفس الوقت في حال تطوير ألعاب بسيطة واختيار برمجة لعبة بالاعتماد على تصاميم جاهزة. ما هو محرك الألعاب؟ محرك الألعاب هو بيئة برمجية لتطوير وبرمجة لعبة بسهولة وسرعة حيث يوفر محرك الألعاب أدوات تسهل عمل المطورين وتمكّنهم من التركيز على تطوير لعبة متكاملة في مكان واحد بدلاً من الحاجة إلى كتابة الكود البرمجي الكامل لها من الصفر ويبّسط مهام التطوير المعقدة مثل الفيزياء والإضاءة والصوت وعرض الرسومات والذكاء الاصطناعي. كيف تربح المال من تطوير الألعاب؟ يكسب مطور الألعاب المال بعدة طرق أهمها العمل في أحد شركات تطوير الألعاب أو بيع الألعاب الخاصة به على المنصات والمتاجر المتخصصة مثل جوجل بلاي Google Play أو متجر أبل App Store أو منصة ألعاب الفيديو Steam كما يمكنه نشر ألعاب بميزات مجانية وميزات احترافية مدفوعة تحتاج لدفع مبلغ إضافي للحصول عليها، أو ترك ألعابه مجانية بالكامل والربح من وضع إعلانات بداخلها، ومن طرق الربح الممكنة أيضًا استخدام منصات مثل Patreon لتلقي تبرعات من اللاعبين الذين يرغبون في دعم المطور. ما هو استوديو الألعاب؟ استوديو الألعاب هو شركة كبيرة متخصصة في تطوير الألعاب الإلكترونية ويضم استوديو الألعاب عادة فريق متكامل من الأشخاص المتخصصين في إنتاج الألعاب من مصممين ومبرمجين يبرمجون الألعاب وكتَّاب يكتبون قصة اللعبة ومختبرين يفحصون اللعبة ويتأكدون من جودتها وخلوها من الأخطاء وجاهزيتها للإطلاق في السوق، ويمكن أن يكون الاستوديو شركة مستقلة أو جزء من شركة ألعاب كبيرة، ومن أشهر استوديوهات الألعاب نذكر Ubisoft و Blizzard Entertainment و Nintendo و Electronic Art. ما هي منصات نشر الألعاب؟ منصات الألعاب هي الأنظمة أو المعدات التي تمكن المستخدمين من تحميل الألعاب ولعبها بعد الانتهاء من تطويرها ومن أشهر منصات اللعب الحواسيب الشخصية والجوالات التي تعمل بنظام أندرويد Android أو آي أو إس iOS والطرفيات أو وحدات الألعاب game consoles مثل بلاي ستيشن PlayStation وإكس بوكس Xbox وهناك منصات مخصصة لبث الألعاب مباشرة عبر الإنترنت مثل منصة تويتش Twitch. ما هي صعوبات تطوير لعبة؟ يتضمن تطوير الألعاب بعض التحديات والصعوبات فهو مجال يتطلب توفّر العديد من المهارات الفنية والإبداعية ويتطلب الكثير من الوقت والجهد لتعلمه، كما أنه مجال تنافسي ومكلف بشكل كبير إضافة لأن نجاح الألعاب الإلكترونية يعتمد على جودة فكرتها وتنفيذها وشعبيتها وبذل جهد في تسويقها وقد يستغرق وقتًا وجهدًا لكسب المال وتحقيق مبيعات جيدة. هل يمكن أن أصبح مطور ألعاب دون شهادة جامعية؟ نعم، من الممكن أن تصبح مطور ألعاب بدون شهادة جامعية فالعديد من مطوري الألعاب الناجحين تعلّموا بشكل ذاتي فمصادر التعلم المتنوعة من دروس وكتب ودورات تدريبية متوفرة بكثرة عبر الإنترنت. الأهم هو أن يكون لديك الشغف والرغبة والجديّة في التعلّم فهذا كفيل لتصبح مطوّر ألعاب ناجحًا. هل يحتاج تطوير الألعاب إلى خبرة في الرياضيات؟ نعم يحتاج تطوير الألعاب الإلكترونية إلى وجود خبرة في الرياضيات والجبر الخطي والمثلثات وبالرغم من أن محركات الألعاب تسهل على المطور الكثير من العمليات الرياضية إلا أن مبرمج الألعاب يحتاج لفهم أساسيات الرياضيات من أجل تحريك شخصيات اللعبة وجعلها تتفاعل مع بيئة اللعبة بالشكل الصحيح. اقرأ أيضًا تعرف على أشهر محركات الألعاب Game Engines برمجة لعبة متاهة باستخدام محرك يونيتي Unity نبذة عن صناعة الألعاب ومحرك Unity3D ما هي برمجة الألعاب؟1 نقطة
-
npm: node package manager أي مدير لحزم الـ node، وبشكل أساسي Npm هي أداة تستخدم لتثبيت الحزم. npx: node package execute أي منفذ لحزم الـ node، أي أنّ Npx هي أداة تستخدم لتنفيذ تلك الحزم. مثال مثلاً يمكنك أن تنزل أمر إنشاء تطبيق (مثلا react) ما بواسطة npm، ثم تقوم بتنفيذ هذا الأمر (أمر إنشاء التطبيق) باستخدام npx1 نقطة