موضوع اليوم هو كيف يمكن للمطورين الاستفادة من تقنية البلوك تشين وما يمكنهم القيام به باستخدام تلك التقنية.
يمكنك الاستماع إلى المقال من هنا.
تحدثنا في المقال السابق عن تعريف البلوك تشين (Blockchain) بأنّها تقنية تقدم نموذجاً محدداً لتخزين البيانات بطريقة آمنة وتوزيعها بشكل لا مركزي.
البلوك تشين (Blockchain) للمطورين:
البلوك تشين للمطورين تمثل منصة يمكنهم من خلالها بناء أنواع مختلفة من التطبيقات. هذه التطبيقات تسمى بالتطبيقات اللامركزية (dApps).
أمثلة على التطبيقات التي يمكن تطويرها على البلوك تشين (Blockchain)
لنأخذ على سبيل المثال تطبيق Kickcity هو تطبيق مبني على البلوك تشين وهو عبارة عن تطبيق لتنظيم الفعاليات والمطابقة بين فعالية معيّنة مع المؤثرين (Influencers) المناسبين لها. فلو أردت أن تخطط لفعالية ما، يقدم لك التطبيق اقتراحات للمؤثرين (Influencers) المناسبين لهذه الفعالية. كما يقوم بمكافأة المؤثرين (Influencers) الذين يقترحون هذه الفعاليات لديهم.
كما نلاحظ أن هذا التطبيق يمكن استخدامه دون الانتباه إلى أنّه مبني على البلوك تشين (Blockchain) في الأساس، لأنّه من الممكن عمله بالفعل باستخدام تقنيات أخرى.
مثال آخر:
موقع Circle وهو منصة لتحويل ودفع الأموال عن طريق البلوك تشين (Blockchain).
كما ذَكرنا سابقاً، فإن عمليات تحويل وتبادل الأموال مهمة جداً في البلوك تشين (Blockchain). ومن هنا تأتي أهمية هذه الشركة فهي تقول بأنّها تقوم بتسهيل عملية نقل أي أصول مالية بين الأشخاص المستخدمين للإنترنت والمنصة دون الحاجة إلى وجود وسيط بينهما كالبنوك.
نلاحظ أنّه يمكن عمل هذه المنصة باستخدام تقنيات أخرى، وهنا يُطرح السؤال التالي:
ما الدافع لتنفيذ تطبيق على البلوك تشين (Blockchain) دون غيره من التقنيات الحالية؟
يعتمد ذلك على طبيعة التطبيق الذي تريد بناءه، فلو كان التطبيق يحتاج في بنيته الأساسية إلى :
- بنية مشابهة للبلوك تشين (Blockchain) من حيث اللامركزية والأمن والثقة والشفافية.
- عدم وجود وسيط في التعاملات بين المستخدمين.
- إمكانية تتبع تاريخ أي عملية تتم عبر هذا التطبيق وبقاء تخزينها للأبد.
فإن بناؤه على البلوك تشين (Blockchain) هو خيار جيد وفعال. وإلا فإنه يمكن بناؤه باستخدام تقنيات أخرى مثل المستخدمة في بناء تطبيقات الويب والموبايل الحالية.
بناء التطبيقات المركزية:
الآن سنتحدث بشكل مختصر عمّا ستحتاجه إذا أردت بناء تطبيقك (dApp) على البلوك تشين (Blockchain) والاختلاف عن بنائه بالتقنيات المعتادة.
إذا أردنا بناء تطبيق للموبايل بالتقنيات المعتادة (المركزية Centralized) فما الذي ستحتاج إليه؟
- مجموعة من الأدوات والمكتبات (SDK) التي تساعدك في كتابة التطبيق. كال (SDK) الخاصّة بنظام الأندرويد أو الـ (SDK) الخاصّة بنظام ال (IOS) أو تستخدم فلاتر (Flutter) كبيئة (SDK).
- لغة برمجة محددة كلغة دارت (Dart) لفلاتر (Flutter) أو لغة كوتيلين (Kotlin) للأندرويد أو لغة سويفت (Swift) لنظام ال (IOS).
- طريقة نشر وإتاحة هذا التطبيق للجميع من أجل استخدامه. ولتحقيق ذلك، ستستخدم المتاجر الخاصّة بتطبيقات الموبايل مثل متجر أبل وبلاي ستور (Play store) للاندرويد وجاليري آب (Gallery App) من أجل هواتف هواوي (Huawei).
- قد تحتاج أيضاً تقنيات أخرى مثل بناء (API) مع قواعد بيانات لتخزين البيانات عليها.
هذه هي الأساسيات التي تحتاجها من أجل بناء تطبيق موبايل. والأمر مشابه كثيراً عندما تريد بناء موقع ويب: حيث ستحتاج إلى لغة برمجية لبناء التطبيق كلغة (PHP) كما ستحتاج إلى سيرفر (Server) لتخديم هذا الموقع وجعله متاحاً للاستخدام. وتحتاج إلى مكان لتخزين المعلومات مثل قاعدة البيانات (Database) وخدمات تخزين الملفات. فماذا عن التطبيقات اللامركزية؟
بناء تطبيقات اللامركزية (dApp) على البلوك تشين (Blockchain):
- نحتاج هنا أيضاً إلى مجموعة من الأدوات والمكتبات المتكاملة (SDK) التي تساعدك في كتابة هذا التطبيق. هذه ال SDK ستختلف باختلاف الشبكة التي تريد كتابة تطبيقك عليها ففي البلوك تشين توجد شبكات مختلفة تدعم كل منها (SDK) خاصة بها. بها فلو أردنا بناء تطبيق على شبكة نِـيـر (NEAR) مثلاً سنستخدم ال SDK الخاصّة بها والمسماة (NEAR SDK). أما لو أردنا بناء التطبيق على شبكة سولانا (Solana) سنستخدم ال SDK الخاصّة بها والمسماة (Solana SDK).
- كذلك فإن كل SDK ستدعم لغات برمجة محددة يجب عليك الكتابة بها من أجل استخدام هذه ال SDK. فعلى سبيل المثال كل من (NEAR SDK , Solana SDK) تتيح لك كتابة التطبيقات باستخدام اللغة البرمجية رست (Rust). كذلك فإن NEAR SDK تعطيك إمكانية كتابة التطبيقات باستخدام لغة الأسمبلي سكريبت (Assembly Script) أيضاً. وشبكة الإيثيريوم (Ethereum) تدعم لغة سوليديتي (Solidity). فاختيارك للشبكة إذن وال SDK الخاصّة بها سيحدد اللغات البرمجية التي يمكنك بناء تطبيقك بها.
- ستحتاج أيضاً إلى مكان لنشر وإتاحة تطبيقك سيكون في هذه الحالة هو البلوك تشين (Blockchain) نفسها. كذلك فإن البيانات الخاصّة بتطبيقك ستتمكن من تخزينها على البلوك تشين (Blockchain). فيمكن اعتبار البلوك تشين بالنسبة للتطبيق اللامركزي على أنّها الباك اند Back-end الخاصّة بالتطبيق بالإضافة إلى مكان تخزين البيانات.
- ستحتاج إلى تقنيات بناء الواجهات الأمامية للمستخدمين (Frontend technologies) مثل (Vue.js, HTML and CSS) أو بناء تطبيق جوال.
ولن تحتاج إلى تقنيات باك اند ( Back-end) باعتبار أن البلوك تشين ستلعب هذا الدور كمخزن البيانات والتعامل معها عن طريق كتابة برنامجك بما يسمى بالعقود الذكية (Smart Contract) ضمن ال SDK المحددة ومن ثم نشرها على البلوك تشين.
هل تحتاج لغة برمجة جديدة؟ ولماذا؟:
لتصبح مطور تطبيقات بلوك تشين , نعم, قد يتعين عليك تعلم لغة برمجة جديدة مثل رست Rust أو سوليديتي Solidity أو أسمبلي سكريبت Assemby Script لمساعدتك في مسار بناء التطبيقات.
فإذا كانت ال SDK الخاصّة بالشبكة لا تدعم لغات البرمجة التي تعرفها مثل (Python, Java, Javascript) سيتوجب عليك تعلم لغة برمجة أخرى مثل رست (Rust) في حال أردت بناء تطبيقك على شبكتي NEAR و Solana أو Solidity في حال أردت بناء تطبيقك على شبكة الإيثيريوم (Ethereum).
كذلك يوجد عدة SDKS تدعم لغة الأسمبلي سكريبت (Assembly Script) ومنها NEAR SDK.
بعد ذلك ستحتاج لمعرفة ثقافة البلوك تشين (Blockchain) وطريقة عمل التطبيقات عليها حيث هناك بنية محددة تتبعها أثناء بناء تطبيقك والتي سنذكرها لاحقاً
وبذلك تصبح مستعداً لبناء تطبيق لامركزي على البلوك تشين (Blockchain).
لماذا أتعلم بناء التطبيقات اللامركزية ولغة برمجة جديدة؟
غالباً ما يرد على أذهاننا عند تعلم شيء جديد ما هي الفائدة المرجوة من هذا التعلم. حسنا بالإضافة إلى اكتساب المعرفة فإنه يمكنك الحصول على فرص عمل مميزة في مجال تطوير التطبيقات على اعتبار أن هذا المجال لايزال جديداً وعروض العمل عليه في ازدياد. كما أن الدخل المتوقع لمطوري تطبيقات في مجال البلوك تشين (Blockchain) يعتبر مرتفعاً.
في الصورة التالية المأخوذة عن موقع جلاس دور (Glassdoor)عرض لمتوسط الرواتب لمطوري التطبيقات في البلوك تشين سنوياً :
وكما ذكرنا أن الرواتب المرتفعة ستكون إحدى أهم الحوافز لتعلم البلوك تشين بالإضافة إلى أن معرفتك لهذه التقنية الحديثة سيتيح لك فرصاً مختلفة للعمل وتعلم تقنية جديدة ستكون بداية العصر الحديث من الانترنت المسمى بالإنترنت اللامركزي.
خاتمة:
حاولنا التوضيح في هذه المقالة ما هي البلوك تشين (Blockchain) وكيفية الاستفادة منها بالنسبة للمبرمجين.
سنتحدث في المقالات القادمة عن التطبيقات اللامركزية (dApp) بشكل مفصّل من ناحية التطوير وكيفية كتابة العقود الذكية (Smart Contract) على شبكة نِير NEAR.
يمكنك الآن التسجيل في أول كورس للحصول على شهادة مطور نير معتمد باللغة العربية من خلال هذا الرابط
هذه المقالة تم إعدادها من قبل فريق نير بالعربي للطلاع على المزيد يمكنك زيارة الموقع من هنا