ডেভেলপারদের জন্য নতুন কি আছে

নীচের অংশের পরিবর্তন গুলো GNOME 2.28 ডেভেলপার প্ল্যাটফর্ম ব্যবহারকারীদের জন্য গুরুত্বপূর্ণ. আপনি যদি ডেভেলপারদের জন্য পরিবর্তনে জানতে আগ্রহী না থাকেন, তাহলে খন্ড 6 ― আন্তর্জাতিকরণ সেক্শনে চলে যেতে পারেন।

GNOME ডেস্কটপ ছাড়াও GNOME 2.28 হলো GNOME ডেভেলপার প্ল্যাটফর্মের সর্বশেষ রিলিজ, যেটি হলো একটি API- এবং ABI-স্টেবল লাইব্রেরির সেট্, এবং যেগুলো GNU LGPL-এ লাইসেন্স করা, যাতে করে বিভিন্ন অপারেটিং সিস্টেমের জন্য অ্যাপ্লিকেশন তৈরি করা যায়।

অবচিত লাইব্রেরির ব্যবহার সংলগ্ন করা

GNOME 3.0 থেকে শুরু করে, GNOME-এর অনেক পুরাতন অংশ সরিয়ে নেয়া হবে। এই পুরাতন অংশ গুলোর মধ্যে libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libgnomecanvas libgnomeprint, libgnomeprintui, libgnomeui, ও libgnomevfs-এর মত লাইব্রেরি আছে। যে অ্যাপ্লিকেশন গুলো GNOME ডেস্কটপের অংশ হিসেবে রিলিজ হয়, তাদের কয়েকটি ক্লিন-আপ কাজ করা হয়েছে জাতে কোন পুরাতন কোড তাদের মধ্যে ব্যবহার করা না হয়। তাতে GNOME 3.0 রিলিজ করতে কোন সমস্যা হবে না।

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

5.1. প্ল্যাটফর্ম সংশোধন

GNOME 3.0 -এর পথে অনেক পুরনো মডিউল ও ফাংশন সরানো হয়েছে।

GNOME 2.28 - এ, আর কোন অ্যাপ্লিকেশন নেই যে গুল esound, libgnomevfs, libgnomeprint, অথবা libgnomeprintui -এর উপর নির্ভর করে।

GNOME 2.28 - এ আরো GNOME প্ল্যাটফর্ম উন্নতিকরণ হলো:

  • libart_lgpl -এর উপরে নির্ভরতা দুইটি মডিউল (eog ও gtkhtml) থেকে সরানো হয়েছে।
  • libbonobo(ui) -এর উপরে নির্ভরতা পাঁচটি মডিউল (gnome-control-center, gcalctool, gnome-media, gtkhtml, ও accerciser) থেকে সরানো হয়েছে।
  • libglade -এর উপরে নির্ভরতা ২৮টি মডিউল (accerciser, alacarte, gnome-control-center, dasher, empathy, gcalctool, gnome-games, gnome-netstatus, gnome-nettool, gnome-mag, gnome-menus, gnome-panel, gnome-power-manager, gnome-screensaver, gnome-session, gnome-settings-daemon, gnome-system-tools, gnome-utils, gtkhtml, hamster-applet, libgnomekbd, orca, pessulus, seahorse, vino, vinagre, yelp, ও zenity) থেকে সরানো হয়েছে।
  • libgnome -এর উপরে নির্ভরতা ১৪টি মডিউল (anjuta, gnome-control-center, dasher, evolution-webcal, gconf, gdl, gdm, gnome-desktop, gnome-media, gnome-system-tools, gok, gtkhtml, vino, ও yelp) থেকে সরানো হয়েছে।
  • libgnomecanvas -এর উপরে নির্ভরতা তিনটি মডিউল (anjuta, gtkhtml, ও zenity) থেকে সরানো হয়েছে।
  • libgnomeprint(ui) -এর উপরে নির্ভরতা একটি মডিউল (gnome-games) থেকে সরানো হয়েছে।
  • libgnomeui -এর উপরে নির্ভরতা ১৬টি মডিউল (anjuta, gnome-control-center, dasher, deskbar-applet, gnome-mag, gnome-media, gnome-settings-daemon, gnome-system-tools, gnome-utils, gok, gtkhtml, hamster-applet, nautilus, orca, vino, ও yelp) থেকে সরানো হয়েছে।
  • libgnomevfs -এর উপরে নির্ভরতা তিনটি মডিউল (dasher, gnome-mag, ও gnome-utils) থেকে সরানো হয়েছে।
  • অনেক মডিউল এখন AM_SILENT_RULES অথবা Shave দিয়ে কম্পাইল করলে আরো সুন্দর ও পরিষ্কার তৈরি করা আউটপুট দেয়। বিস্তারিত তথ্য জানার জন্য http://live.gnome.org/GnomeGoals/NicerBuilds দেখুন।
  • কয়েকটি অ্যাপ্লিকেশন GIntrospection ব্যবহার করা শুরু করেছে — আরো জানার জন্য http://live.gnome.org/GnomeGoals/AddGObjectIntrospectionSupport দেখুন।

অনেক অ্যাপ্লিকেশন পুরনো GTK+ ও GLib প্রতীকের ব্যবহার থামিয়ে অখন সুধু GTK+ ও GLib-এর টপ লেভেল হেডার ব্যবহার করে।

5.2. GTK+ 2.18

GNOME

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

GTK+ -এরো অনেক উন্নতি হয়েছে, যেমন:

  • GtkEntry উইজেট এখন অগ্রগতি বার প্রদর্শন করতে পারে।
  • GtkEntry-র মডেল-ভিউ সেপারেশন আছে।
  • GtkLabel গ্রোথিত URI দেখাতে পারে।
  • প্রিন্টিং এখন নির্বাচন প্রিন্ট করা সমর্থন করে।
  • প্রিন্ট ডায়ালগে পৃষ্ঠা সেটআপ নিয়ন্ত্রণ ব্যবস্থা সন্নিবেশ করা যায়।
  • উন্নত স্বাচ্ছন্দ্যকরণের জন্য অবস্থা আইকনের টাইটেল বৈশিষ্ট্য আছে।
  • একটি নতুন উইজেট, GtkInfoBar, যোগ করা হয়েছে যেটি বার্তা ডায়ালগের রদলে প্রধান উইন্ডোতে প্রদর্শন করতে পারে।
  • শব্দহীন মোডে "make V=0" কমান্ড দিয়ে অখন GTK-কে আধুনিক automake দিয়ে কম্পাইল করা যায় (automake 1.7 আর লাগে না)।

5.3. GLib

GNIO GIO-এর সাথে সংযোজন করা হয়েছে, এবং IPv4 ও IPv6 অ্যাড্রেসের সাথে কাজ করা, হোস্টনেইম রিজল্ভ করা, রিভার্স IP লুকাপ করা, লো-লেভেল সকেট I/O, এবং নেটওয়ার্ক সংযোগ ও সার্ভিসের সাথে কাজ করার জন্য API অন্তর্ভুক্ত করা হয়েছে।

GArray, GMappedFileGTree এখন রেফারেন্স কাউন্ট করা।

প্রধান লুপ থ্রেড-প্রতি ডিফল্ট প্রসঙ্গ সমর্থন করে।

GIOStream ও তার সাবক্লাসের মধ্যে রিড-রাইট প্রবেশাধিকারের সমর্থন যোগ করা হয়েছে।

GLib এখন প্রতিটি ফাইলের জন্য মেটাডাটা সমর্থন করে।

5.4. GNOME ডকুমেনটেশন

GNOME -এর নতুন ডকুমেনটেশন XML ভাষা Mallard -এর সাপোর্ট Yelp ও gnome-doc-utils -এ যোগ করা হয়েছে।

ডকুমেনটেশন লেখকদের জন্য Mallard হলো একটি সয়ংসম্পূর্ণ XML মার্কাপ ভাষা, যেটি শুধু মাত্র বিষয়-ভিত্তিক সহায়তার জন্য তৈরি করা হয়েছে, এবং এটি শেখা Docbook-এর চেয়ে সহজ।

Empathy -এর ডকুমেনটেশন হলো GNOME -এর প্রোথম ডকুমেনটেশন যেটি Mallard -এ লেখা হয়েছে, GNOME

5.5. GNOME ব্লুটুথ

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

বোতাম ও চুজার সহ আধুনিক ব্লুটুথ নির্বাচন করার উইজেট যোগ করা হয়েছে।

5.6. Epiphany ওয়েব ব্রাউজার

Epiphany-র Webkit ব্যবহারের ফলে, Epiphany ডেভেলপারদের জন্য কয়েকটি বর্ধিতকরণ বিদ্যমান আছে।

WebKitGTK+ -এর বৈশিষ্ট্য হলো খুব দ্রুত Javascript প্রক্রিয়াধীন, কম RAM ব্যবহার, GObject API, এবং একটি অন্তবিষ্ট ওয়েব ইন্সপেক্টর। Epiphany এখন Seed (JavaScript) এক্সটেনশন সমর্থন করে, এবং এটি যোগ করার ফলে Python সমর্থন সরিয়ে নেয়া হয়েছে।

Epiphany HTTP বাস্তবায়নের জন্য এখন libsoup ব্যবহার করে, এবং GNOME জুড়ে প্রক্সি একই ভাবে কাজ করে। যদিয় libsoup-এর মধ্যে HTTP ক্যাশ ও বিষয়বস্তু এনকোডিং বৈশিষ্ট্য এখন পর্জন্ত নেই।

সর্বশেষে, ওয়েব ভিউতে কন্টেক্সট মেনু Epiphany-র জন্য এখন পর্যন্ত স্বনির্মান করা হয় নাই, যদিয় ডিফল্ট WebKit ভিউ ব্যবহার করা হয়।

5.7. Time Tracker অ্যাপলেট

এখন ইন্ট্রোস্পেক্টেবল D-Bus API দিয়ে সব ফাংশন প্রবেশ করা যায়।

5.8. GNOME-মিডিয়া

GNOME-Media vumeter, CDDB ও GNOME-CD-কে আর সমর্থন করে না।

5.9. Totem

Totem থেকে xine-lib ব্যকেন্ড সরিয়ে নেয়া হয়েছে, এবং অসমকালীন পার্সিং API যোগ করা হয়েছে।

5.10. Vinagre

GNOME-এর দূরবর্তী ডেস্কটপ প্রদর্শক Vinagre, একটি নতুন প্লাগ-ইন সিস্টেম যোগ করেছে। এখন সুধু মাত্র একটি প্লাগ-ইন লেখেই নতুন প্রোটকল সমর্থন করা যায। VNC ও SSH-এর জন্য নতুন প্লাগ-ইন Vinagre-এ যোগ করা হয়েছে।

5.11. ব্রাসেরো

ব্রাসেরো এর লাইব্রেরী এবং ইউটিলিটি গুলো libbrasero-burn and libbrasero-utils এর মধ্যে ভাগ করা হয়েছে।