আমি যদি কোনও লিনাক্স ডিস্ট্রোতে চালিত একটি অ্যাপ্লিকেশন লিখতে চাই তবে আমার কী সচেতন হওয়া দরকার?


15

আমি এমন একটি অ্যাপ্লিকেশন লেখার পরিকল্পনা করছি যা আমি কোনও লিনাক্স ইনস্টলাইনে চালাতে সক্ষম হতে চাই যে কোনও কোডের পুনর্লিখন না করে (সম্ভবত ইন্টারফেস, জিনোম বনাম কে, কে, ইত্যাদি বাদে)।

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


ওপেন সোর্স নাকি মালিকানা? সংকলিত বা ব্যাখ্যা করা?
xenoterracide

মুক্ত উত্স এবং সংকলিত।

ঠিক আছে তবে আপনাকে কিছু ছোট অ্যাপ / মেকফিল বা অন্য কিছু লেখার বিষয়ে চিন্তা করার দরকার নেই, যা আপনার প্রোগ্রামটিকে
রিঙ্ক

উত্তর:


10

বিকাশ করার সময় কিছু বিষয় মনে রাখতে হবে,

  1. একটি স্ট্যান্ডার্ড বিল্ড সিস্টেম ব্যবহার করুন
  2. হার্ড কোডিং লাইব্রেরির পাথগুলি এড়িয়ে চলুন
  3. pkg-configপরিবর্তে বাহ্যিক প্যাকেজগুলি সন্ধান করতে পছন্দসই সরঞ্জামগুলি ব্যবহার করুন।
  4. আপনার অ্যাপ্লিকেশনটিতে যদি জিইউআই থাকে তবে এমন কয়েকটি ফ্রেমওয়ার্ক ব্যবহার করুন wxWidgetsযা আপনি কোথায় চালান তার উপর নির্ভর করে দেশীয় ইউআই উপাদানগুলি রেন্ডার করতে পারে।
  5. অন্যান্য বিতরণে চলবে না এমন প্যাকেজগুলির সাথে নির্ভরতা তৈরি করা এড়িয়ে চলুন।

আপনার অ্যাপ্লিকেশনটি সমস্ত বিতরণে সম্পূর্ণরূপে কাজ করে তা নিশ্চিত করার একমাত্র উপায় হ'ল প্রকৃতপক্ষে এটি চালানো এবং এটি পরীক্ষা করা। আপনি এটি করতে পারেন এমন এক উপায় প্রতিটি বিতরণের জন্য ভার্চুয়াল মেশিন তৈরি করা। ভার্চুয়ালবক্স এটি করতে ব্যবহার করা যেতে পারে। এই ধরণের পরীক্ষার জন্য আমার বাক্সে প্রায় 8 টি ভার্চুয়াল মেশিন রয়েছে।

আমি মনে করি আপনি অ্যাপ্লিকেশন মোতায়েন করার ক্ষেত্রে আপনি খুব বেশি সাধারণীকরণ করতে পারবেন না কারণ প্রতিটি বিতরণ প্যাকেজ ইনস্টল করার বিভিন্ন পদ্ধতি ব্যবহার করে। দেবিয়ান ব্যবহার করে debএবং ফেডোরা rpm


3
শুধু সহজ কোডিং পাথগুলি এড়িয়ে চলুন, সমস্ত ডিস্ট্রোর মধ্যে সবচেয়ে বড় পার্থক্য হ'ল তাদের প্যাকেজ পরিচালক এবং যেখানে তারা জিনিস রাখে। ধরে নিন যে তারা প্রতিটি ফাইল এবং ডিরেক্টরি আপনার থেকে আলাদা জায়গায় রাখবে।
xenoterracide

2

কেবল আমার 2 সি, তবে আমার অ্যাপ্লিকেশনগুলির সাথে কম মাথা ব্যাথা হয়েছে যা হয় সরকারী সংগ্রহস্থলে প্যাকেজগুলির সাথে আসে বা উত্স থেকে সংকলিত হয়। তৃতীয় পক্ষের বাইনারি হিসাবে বিতরণ করা অ্যাপ্লিকেশনগুলিতে কিছু নির্ভরতা সমস্যা ভুগতে থাকে। আমার সাধারণত এগুলি ট্র্যাক করে ম্যানুয়ালি সমাধান করতে হবে।

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


2

আপনি যদি এম্বেডবিহীন লিনাক্সের জন্য লিখছেন, তবে মনে রাখতে হবে মূল বিষয়টি হ'ল বিভিন্ন ডিস্ট্রিবিউশনের লাইব্রেরি সংস্করণগুলির আলাদা সংগ্রহ রয়েছে। সুতরাং আপনার যথেষ্ট পুরানো বেসলাইন সেট করা উচিত। দেবিয়ান আস্তে আস্তে আপডেট হওয়ার সাথে সাথে দেবিয়ান স্থিতিশীল (বা এটি উপস্থিত থাকলে প্রাচীনতম) একটি রিলিজের কয়েক মাস পরে) যুক্তিসঙ্গত পছন্দ হতে পারে।

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

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

নোট করুন যে আমি উপরে যা লিখেছি তা যদি আপনার এম্বেড থাকা সিস্টেমে (এখানে কোনও সার্ভার, ডেস্কটপ বা ল্যাপটপ নয় এমন কিছু অর্থ বোঝায়) ব্যবহার করতে চান তবে এটি লিনাক্স কার্নেল চালানোর পরেও প্রায়শই সাধারণ লাইব্রেরি না থাকলে, গ্লিবসি - ক্লিবিসি , ডায়েটলিবিসি , বায়োনিক , ইত্যাদির অনুকূলে এচিভ করা শুরু করে starting


1

আমি সহায়ক হিসাবে খুঁজে পেয়েছি Linux Standards Base, বিশেষত যখন আপনার অ্যাপ্লিকেশনটিতে পরিষেবাগুলি (ডেমন) অন্তর্ভুক্ত থাকে। এই সাইটগুলির কয়েকটি দেখুন:

তবে যদি আমাকে কেবল সংস্থান হিসাবে সীমাবদ্ধ রাখতে হয় তবে এটি ফাইলের হাইয়ারচি স্ট্যান্ডার্ড হতে পারে ।


0

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


0

মূল জিনিসটি একটি ভাষা চয়ন করা। এটি কোন ভাষায় চালিত হবে? আপনি যদি সত্যিই কোনও লিনাক্স ডিস্ট্রোতে চালাতে চান তবে আপনি পাইথনে এটি লিখতে পারেন। যে কোনও পাইথন অ্যাপ্লিকেশনটি লিনাক্সে চলবে (মূলত) 0 টি পরিবর্তন সহ কোনও লিনাক্স ডিস্ট্রোতে চলবে।

পাইথনের সত্যিই দুর্দান্ত জিটিকে এবং কিউটি বাইন্ডার রয়েছে। আমি কখনই জিটিকে নিয়ে কাজ করি নি, তবে পাইকিউটি কাজ করতে সত্যিই দুর্দান্ত।

অজগরটির উপকারিতা হ'ল আপনার সম্ভবত কোনও এক্সটেনশন সংকলনের প্রয়োজন হবে না (এটি আপনি যা লিখছেন তা পুরোপুরি নির্ভর করে Even এমনকি আপনার যদি প্রয়োজন হয় তবে এটি বেশ সহজ)) এবং পাইপির মাধ্যমে আপনার দুর্দান্ত বিতরণ উত্সও রয়েছে । সেখান থেকে পাইথন প্রোগ্রামগুলি ইনস্টল করা সাধারণত ডিস্ট্রো প্যাকেজ সংগ্রহস্থলের চেয়েও সহজ easier

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.