প্রকল্প সম্পর্কে

Matrix Rust SDK হলো এমন কিছু লাইব্রেরির সংগ্রহ যা Rust-এ Matrix ক্লায়েন্ট তৈরি করা সহজ করে তোলে। এর উন্নয়ন Element দ্বারা স্পনসর ও রক্ষণাবেক্ষণ করা হয়, যারা iOS ও Android-এ তাদের পরবর্তী প্রজন্মের মোবাইল অ্যাপ Element X-এ SDK ব্যবহার করে এবং ভবিষ্যতে ওয়েব ও ডেস্কটপ ক্লায়েন্টেও এটি আনার পরিকল্পনা রয়েছে। উদ্দেশ্য: SDK এনক্রিপশন, সিঙ্কিং ও রুম স্টেটের মতো নিম্ন-স্তরের বিস্তারিত বিষয়গুলি পরিচালনা করে, যাতে ডেভেলপাররা অ্যাপ লজিক ও UI-তে মনোযোগ দিতে পারেন। এটি ছোট বট, ডেস্কটপ ক্লায়েন্ট এবং এদের মাঝামাঝি সবকিছুর জন্য উপযোগী বলে বর্ণনা করা হয়েছে এবং এটি নমনীয় ও async-বান্ধব। প্রকল্পের কাঠামো: SDK একাধিক ক্রেট দিয়ে গঠিত যা একে অপরের উপর নির্মিত। সরাসরি ডিপেন্ডেন্সি হিসেবে ব্যবহারযোগ্য বলে প্রত্যাশিত ক্রেটগুলির মধ্যে রয়েছে: - matrix-sdk-ui: ন্যূনতম সেটআপে পূর্ণ-বৈশিষ্ট্যসম্পন্ন UI ক্লায়েন্ট তৈরির জন্য একটি উচ্চ-স্তরের ক্লায়েন্ট লাইব্রেরি। উদাহরণ হিসেবে একটি রেফারেন্স ক্লায়েন্ট, multiverse, প্রদান করা হয়েছে। - matrix-sdk: বট, কাস্টম ক্লায়েন্ট বা উচ্চ-স্তরের অ্যাবস্ট্রাকশনের জন্য উপযুক্ত একটি মধ্য-স্তরের ক্লায়েন্ট লাইব্রেরি, যার উদাহরণ examples ডিরেক্টরিতে রয়েছে। - matrix-sdk-crypto: কোনো নেটওয়ার্ক I/O ছাড়া একটি স্বতন্ত্র এনক্রিপশন স্টেট মেশিন, যা এন্ড-টু-এন্ড এনক্রিপশন সমর্থন প্রদান করে, সাথে একটি ধাপে ধাপে ক্রিপ্টো টিউটোরিয়াল রয়েছে। অন্যান্য ক্রেটগুলিকে কার্যত শুধুমাত্র অভ্যন্তরীণ হিসেবে বর্ণনা করা হয়েছে, যা সংগঠন ও কম্পাইলেশনের সময়ের জন্য ক্রেট হিসেবে সাজানো হয়েছে, এবং সরাসরি ব্যবহার নিরুৎসাহিত করা হয়েছে। অবস্থা: লাইব্রেরিটি প্রোডাকশন রেডি বলে বিবেচিত এবং এটি একাধিক ক্লায়েন্ট বাস্তবায়নকে সমর্থন করে, যার মধ্যে রয়েছে iOS ও Android-এর জন্য Element X, Fractal এবং iamb। ক্লায়েন্ট ডেভেলপারদের এটি ব্যবহার করে আরও কিছু তৈরির জন্য আমন্ত্রণ জানানো হয়েছে। বাইন্ডিং: উচ্চ-স্তরের ক্রেটগুলিকে Swift, Kotlin, JavaScript ও Node.js-এর মতো অন্যান্য পরিবেশে এমবেড করা যায়, সাথে একটি bindings ডিরেক্টরি রয়েছে যা অন্যান্য ভাষায় ইন্টিগ্রেশন নথিভুক্ত করে। লাইসেন্স: Apache-2.0।