<?xml version="1.0" encoding="utf-8"?>
<!-- -*- indent-tabs-mode: nil -*- -->
<chapter id="bindings">
  <title>Συνδέσεις γλωσσών</title>

  <para>Αν και η πλατφόρμα GNOME έχει γραφτεί κυρίως σε C, έχει εσκεμμένα γραφτεί κατά τρόπο που να διευκολύνει τη σύνδεση με άλλες γλώσσες προγραμματισμού. Χρησιμοποιώντας τις συνδέσεις γλωσσών, μπορείτε να προγραμματίζετε εγγενώς στην πλατφόρμα GNOME, χρησιμοποιώντας τη γλώσσα που προτιμάτε.</para>

  <para>Υπάρχουν συνδέσεις γλωσσών για πολλές γλώσσες προγραμματισμού. Επισήμως, η πλατφόρμα GNOME υποστηρίζει τις συνδέσεις των C++, Java, Perl και Python.</para>

<section id="cpp">
  <title>C++</title>
  <para>Οι συνδέσεις της C++ καλύπτουν ολόκληρη την πλατφόρμα GNOME, συμπεριλαμβανομένων των GTK+, Glade και GConf. Οι συνδέσεις της C++ συνδέουν όλα τα αντικείμενα με εγγενή αντικείμενα της C++ και επιτρέπουν στους προγραμματιστές να δημιουργούν προσαρμοσμένα γραφικά συστατικά που ακολουθούν τους συνήθεις κανόνες κληρονομικότητας της C++. Παρέχουν ένα πλήρως εγγενές API, με χειριστές σημάτων που διασφαλίζουν την ασφάλεια τύπων, με πλήρη υποστήριξη της βασικής βιβλιοθήκης της C++ και με πλήρη διαχείριση μνήμης σε C++.</para>

  <para>Για περισσότερες πληροφορίες σχετικά με τις συνδέσεις GNOME και C++, επισκεφτείτε τον <ulink url="http://www.gtkmm.org/">ιστότοπο του gtkmm</ulink>.</para>
</section>

<section id="java">
  <title>Java</title>
  <para>Οι συνδέσεις της Java καλύπτουν ολόκληρη την πλατφόρμα GNOME, συμπεριλαμβανομένων των GTK+, Cairo και GConf. Οι συνδέσεις της Java συνδέουν όλα τα αντικείμενα με εγγενή αντικείμενα της Java και επιτρέπουν στους προγραμματιστές να δημιουργούν προσαρμοσμένα γραφικά συστατικά που ακολουθούν τους συνήθεις κανόνες κληρονομικότητας της Java. Παρέχουν ένα πλήρως εγγενές API, χρησιμοποιώντας, όπου χρειάζεται, τις βιβλιοθήκες κλάσεων και τις διεπαφές της Java.</para>

  <para>Για περισσότερες πληροφορίες σχετικά με τις συνδέσεις GNOME και Java, επισκεφτείτε τον <ulink url="http://java-gnome.sourceforge.net/">ιστότοπο Java-GNOME</ulink>.</para>
</section>

<section id="perl">
  <title>Perl</title>
  <para>Οι συνδέσεις της Perl παρέχουν εγγενείς διεπαφές Perl για την πλατφόρμα GNOME, συμπεριλαμβανομένων των GTK+, GnomeVFS και GConf. Οι συνδέσεις της Perl συνδέουν όλα τα αντικείμενα με εγγενή αντικείμενα της Perl και επιτρέπουν στους προγραμματιστές να χρησιμοποιούν τις συνήθεις πρακτικές της Perl για τον χειρισμό τους. Παρέχουν ένα πλήρως εγγενές API, χρησιμοποιώντας, όπου χρειάζεται, τους εγγενείς τύπους δεδομένων της Perl.</para>

  <para>Για περισσότερες πληροφορίες σχετικά με τις συνδέσεις GNOME και Perl, επισκεφτείτε τον <ulink url="http://gtk2-perl.sourceforge.net/">ιστότοπο gtk2-perl</ulink>.</para>
</section>

<section id="python">
  <title>Python</title>
  <para>Οι συνδέσεις της Python παρέχουν εγγενείς διεπαφές Python για την πλατφόρμα GNOME, συμπεριλαμβανομένων των GTK+, GnomeVFS και GConf. Οι συνδέσεις της Python συνδέουν όλα τα αντικείμενα με εγγενή αντικείμενα της Python και επιτρέπουν στους προγραμματιστές να δημιουργούν προσαρμοσμένα γραφικά συστατικά που ακολουθούν τους συνήθεις κανόνες κληρονομικότητας της Python. Παρέχουν ένα πλήρως εγγενές API που χειρίζεται αυτόματα λεπτομέρειες όπως η μετατροπή τύπου (type casting) και η διαχείριση μνήμης.</para>

  <para>Για περισσότερες πληροφορίες σχετικά με τις συνδέσεις GNOME και Python, επισκεφτείτε τον <ulink url="http://www.pygtk.org/">ιστότοπο του PyGTK</ulink>.</para>
</section>

<section id="other-bindings">
  <title>Άλλες γλώσσες</title>
  <para>Υπάρχουν πλήρεις ή μερικές συνδέσεις για πολλές ακόμη γλώσσες προγραμματισμού, όπως οι C#, Eiffel, JavaScript, Ruby και Scheme. Αν και δεν υποστηρίζονται επισήμως από το GNOME, πολλές από αυτές τις συνδέσεις διακρίνονται από την ίδια υψηλή ποιότητα των επίσημων συνδέσεων του GNOME, και ορισμένες από αυτές μπορεί να συμπεριληφθούν στις επίσημες συνδέσεις του GNOME σε επόμενες εκδόσεις.</para>

  <para>Για να δείτε τον πλήρη κατάλογο των συνδέσεων γλωσσών, επισκεφτείτε τη σελίδα <ulink url="http://gtk.org/bindings.html">GTK+ bindings</ulink>.</para>
</section>

</chapter>
