স্ক্র্যাচ থেকে আইওএস এবং অ্যান্ড্রয়েডের জন্য কীভাবে একটি সাধারণ কাস্টম প্রতিক্রিয়া নেটিভ মডিউল তৈরি করবেন তা এখানে

প্রতিক্রিয়াশীল নেটিভ মডিউলগুলিতে এই নিবন্ধটি লিখতে আজ আমি খুব উত্সাহিত। আমি কখনও ভাবিনি মিডিয়ামে লিখব। এটি জ্ঞান, দক্ষতা এবং অভিজ্ঞতা ভাগ করে নেওয়ার একটি দুর্দান্ত প্ল্যাটফর্ম। আমি আশা করি যে আমার ছোট্ট পোস্টটি কীভাবে প্রতিক্রিয়া নেটিভে নেটিভ মডিউল তৈরি করতে হবে সে সম্পর্কে চিন্তাভাবীদের জন্য সহায়ক। তার আগে, আসুন এই বিভাগে ডুব দিন। আমি এই প্রশ্ন থেকে শুরু করতে চান

1. প্রতিক্রিয়া নেটিভ নেটিভ মডিউল কি? - একটি নেটিভ মডিউল একটি সেতু যা অ্যাপ্লিকেশন এবং প্ল্যাটফর্মগুলির মধ্যে যোগাযোগ করে। অ্যাপ্লিকেশনটিতে জাভাস্ক্রিপ্টকোর, জাভাস্ক্রিপ্ট ইঞ্জিন ব্যবহার করা হয়েছে, তবে প্ল্যাটফর্মের এপিআইগুলি উদ্দেশ্য-সি, সুইফট এবং জাভাতে লেখা রয়েছে।

২. আমাদের কেন দরকার? - কখনও কখনও কোনও অ্যাপ্লিকেশানের উন্নত বৈশিষ্ট্য যেমন চিত্র প্রক্রিয়াকরণ, একটি ডাটাবেস বা কোনও সংখ্যক উন্নত বৈশিষ্ট্যগুলির প্রয়োজন হয়। অথবা আপনি শক্তিশালী মাল্টিথ্রেডেড কোডিং লিখতে চান? এগুলি এমন উন্নত বৈশিষ্ট্য যা আপনাকে আসল নেটিভ কোড লিখতে দেয়।

এই নিবন্ধে, আমি আপনাকে আমাদের অ্যাপের মাধ্যমে কীভাবে সহজেই দেশীয় মডিউল ফাংশনগুলি অ্যাক্সেস করতে পারি তা দেখাব। আমি ধরে নিচ্ছি যে আপনার অবজেক্টিভ-সি এবং অ্যান্ড্রয়েড প্রোগ্রামিংয়ের প্রাথমিক ধারণা রয়েছে।

তুমি কী তৈরী? চল শুরু করি.

নেটিভ মডিউলটিতে জাভাস্ক্রিপ্টের কোড অ্যাক্সেসের বেশিরভাগ অংশ দেখতে এইরকম দেখাচ্ছে। "সাড়া জাগানো নেটিভ কাস্টম মডিউল" বলতে কাস্টম নেটিভ মডিউলটিকে বোঝায় যা বেস প্রকল্পের "নোড_মডিউলস" ফোল্ডারে অবস্থিত।

উপরের কোডটি কেবল আইওএস এবং অ্যান্ড্রয়েড প্ল্যাটফর্ম থেকে মডিউল তালিকা পায়। এটি একটি অ্যাপ্লিকেশনটির সহজ বাস্তবায়ন অংশ। উপরের বাস্তবায়নগুলি করার জন্য, আমরা এই বিভাগগুলি তৈরি করব।

  1. আইওএস নেটিভ মডিউল
  2. নেটিভ অ্যান্ড্রয়েড মডিউল
  3. নোড প্যাকেজ ম্যানেজার (এনপিএম)
  4. অ্যাপ্লিকেশন অঞ্চল (উপরে স্ক্রীনশট) - সম্পন্ন
  5. নেটিভ আইওএস মডিউলটি কীভাবে তৈরি করবেন

এক্সকোডে আপনার কাস্টম মডিউলটির জন্য নেটিভ ফাইলগুলি তৈরি করুন (দেশি-কাস্টম-মডিউলটি প্রতিক্রিয়া করুন)।

আপনি উপরে দেখতে পারেন, দুটি নেটিভ ফাইল উত্পন্ন হয়েছিল: আরটিসিটিস্টমমডিউল। এবং আরসিটি কাস্টমমডিউল.এম।

1.1 আরসিটি কাস্টমমডিউল

এই নেটিভ ফাইলটি কেবলমাত্র একটি উদ্দেশ্য-সি শ্রেণি যা আরসিটিব্রিজমডুল প্রয়োগ করে। আরসিটি হ'ল রিট এর একটি সংক্ষেপণ। কোডটি দেখে মনে হচ্ছে

১.২ আরসিটিসটমমডিউল.এম

আরসিটিব্রিজেড মডেল প্রোটোকলটি প্রয়োগ করতে, আপনাকে আরসিটিসটমমডুল রফতানি করতে RCT_EXPORT_MODULE ম্যাক্রো সংজ্ঞায়িত করতে হবে। প্রতিক্রিয়া নেটিভ আরসিটি কাস্টমমডুলের কোনও পদ্ধতি জাভাস্ক্রিপ্টে প্রকাশ করে না যদি না নির্দিষ্টভাবে নির্দেশ না দেওয়া হয়। RCT_EXPORT_METHOD () ম্যাক্রো সংজ্ঞায়িত করে এটি করা যেতে পারে।

আরও তথ্যের জন্য আপনি এই লিঙ্কটি দেখতে পারেন

2. কীভাবে একটি অ্যান্ড্রয়েড মডিউল তৈরি করবেন

অ্যান্ড্রয়েড স্টুডিওতে কাস্টম মডিউলের জন্য নেটিভ ফাইলগুলি তৈরি করুন (আমি অ্যান্ড্রয়েড স্টুডিও পছন্দ করি)।

২.১ কাস্টমমডিউল মোডুলে.জভা

এই মডিউলটি একটি জাভা শ্রেণি যা ReactContextBaseJavaModule শ্রেণিকে প্রসারিত করে। এই শ্রেণিটি পদ্ধতিটির নাম "getName ()" সংজ্ঞায়িত করেছে। এই পদ্ধতিটি নেটিভমোডুলের স্ট্রিংয়ের নাম দেয়। বাস্তবায়ন অংশটি জাভাস্ক্রিপ্টের দিকের মতো দেখায়: "নেটিভমডিউডস.কাস্টমমডুল"।

জাভাস্ক্রিপ্টে কোনও পদ্ধতি উপলভ্য করতে, এটি অবশ্যই @ReactMethod দিয়ে টিকা দেওয়া উচিত। এই ব্রিজ পদ্ধতির রিটার্ন টাইপ সর্বদা অবৈধ। প্রতিক্রিয়া নেটিভ ব্রিজ অ্যাসিক্রোনাস। কলব্যাকস বা ট্রিগার ইভেন্টগুলি ব্যবহার করে এটি জাভাস্ক্রিপ্টে ডেটা পাস করার একমাত্র উপায়। আরো তথ্যের জন্য এখানে ক্লিক করুন।

2.2 কাস্টমমডিউলপ্যাকেজ.জভা

উপরে বর্ণিত কাস্টম মডিউলটি জাভাস্ক্রিপ্টের মাধ্যমে অ্যাক্সেসের জন্য নিবন্ধিত হতে হবে। এটি কেবল createNativeModules এপিআই সরবরাহ করে করা যেতে পারে। অন্যথায় এটি জাভাস্ক্রিপ্ট পৃষ্ঠায় উপলব্ধ হবে না।

এই প্যাকেজটি অবশ্যই মেইন অ্যাপ্লিকেশন.জাওয়ার গেটপ্যাকেজ পদ্ধতিতে সরবরাহ করতে হবে। এই ফাইলটির পথ হ'ল: অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধান / জাভা / কম / আপনার প্যাকেজ-নাম / মেইন অ্যাপ্লিকেশন.জভা

এখন আমরা এই ফাংশনগুলি অ্যাক্সেস করতে একটি এনপিএম মডিউল তৈরি করতে যাচ্ছি। আপনার বেস প্রকল্পের "নোড_মডিউলস" ফোল্ডারে "রিএ্যাক্ট-নেটিভ-কাস্টম-মডিউল" একটি ফোল্ডার তৈরি করুন। এটি কেবল অফলাইন পরীক্ষার জন্য। ডিফল্ট সূচক। Js ফাইলটি দেখতে এমন দেখাচ্ছে

সমস্ত ফাইল একীকরণের পরে, প্রতিক্রিয়াশীল কাস্টম ফোল্ডারের সাধারণ কাঠামো নীচে রয়েছে।

এটি প্রতিক্রিয়া নেটিভ বয়লারপ্লেটের একটি সহজ বাস্তবায়ন is এই কাস্টম নেটিভ মডিউলটির পুরো উত্স কোড এখানে।

উপভোগ করুন! শুভ কোডিং।