Difference between revisions of "Development/Languages"

Jump to: navigation, search
(create "Development" portal)
 
 
(39 intermediate revisions by 23 users not shown)
Line 1: Line 1:
Welcome to the Developer Information Pages.
+
<languages />
 +
<translate>
  
<div style="margin: 0; border: 1px solid #1e90ff; padding: 0 1em 1em 1em; background-color:#F8F8FF; align:right;">
+
<!--T:1-->
== Documentation ==
+
KDE supports several programming languages for KDE 4 development.
  
KDE's source code is available over several ways:
+
==Stable and Mature== <!--T:2-->
* [[Policy|Policies]]
+
* [[Tutorials|Tutorials and HOWTOs]]
+
* [[Portal:Documentation|API Documentation]]
+
  
== Schedules ==
+
<!--T:3-->
* [[Schedules|Feature and Release Schedules]]
+
Support for these languages is mature, fully maintained and suitable for application development:
  
== Tools ==
+
<!--T:4-->
; Valgrind
+
* [[Development/Languages/C++ |C++]]
: [http://www.valgrind.org/ Valgrind] helps to find memory leaks and uninitialized memory blocks. Additional features are a profiler and more. Valgrind is one of the most important development tools!
+
* [[Development/Languages/Python|Python]]
 +
* [[Development/Languages/Ruby|Ruby]]
 +
* [[Development/Languages/Qyoto|C#]]
 +
* [[Development/Languages/Perl|Perl]]
  
; The GNU Project Debugger (GDB)
+
==In Development== <!--T:5-->
: [http://sources.redhat.com/gdb/ GDB] helps in debugging source code. As GDB evolved over time it is recommended to use version 6.x. Graphical frontends are available (see below). See also the [[Howto/GDB Debugging HOWTO|GDB debugging howto]]
+
  
; KDbg
+
<!--T:6-->
: [http://www.kdbg.org/ KDbg] is a graphical user interface to GDB, which is able to set breakpoints, step through the code etc.
+
Support for these languages is still in development:
  
; KDevelop
+
<!--T:7-->
: [http://www.kdevelop.org KDevelop] is an excellent IDE for developing KDE and Qt C++ applications. It includes a an integrated debugger, a powerful editor with syntax highlighting, a ''Project wizard'' to create applications from templates, the automake/autoconf gunk, and even the class documentation.
+
* [[Development/Languages/PHP-Qt|PHP]]
 +
* [[Development/Languages/Lqt|Lua]]
 +
* [[Development/Languages/KBasic|KBasic]] - BASIC language similar to VB
  
; Qt Designer
+
==Bindings Technologies and Embedding== <!--T:8-->
: With Trolltechs [http://www.trolltech.com/products/qt/features/designer Qt Designer] it is easy to layout user interfaces like buttons and checkboxes. Additional features are undo/redo, checking accelerator conflicts etc. Qt Designer allows even non-programmers to help design KDE dialogs.
+
  
; i18n Tools
+
<!--T:9-->
: You can find information on writing and translating documentation on [http://i18n.kde.org/ this dedicated site].
+
* [[Development/Languages/Smoke|Smoke]] - Provides infrastructure which is used for creating bindings for multiple languages such as Ruby, C# and PHP.
  
== Bindings ==
+
<!--T:10-->
In addition to native C++, KDE provides [[Language Bindings|bindings]] to several other programming languages.
+
* [[Development/Languages/Kross|Kross]] - Provides embedded scripting for C++ applications. Multiple languages such as Python, Ruby, JavaScript, QtScript, Falcon and Java are supported.
* [[Language Bindings/Pytion|Python]]
+
 
* [[Language Bindings/Ruby|Ruby]]
+
<!--T:11-->
* [[Language Bindings/Perl|Perl]]
+
* [[Development/Languages/QtScript|QtScript]] - The QtScript binding generator.
* [[Language Bindings/Java|Java]]
+
 
* [[Language Bindings/JavaScript|JavaScript (ECMAScript)]]
+
<!--T:12-->
* [[Language Bindings/Tools|KDE interaction tools]]
+
* [[Development/Languages/SIP|SIP]] - Used to generate the bindings for Python.
* [[Language Bindings/QtSharp|C#]]
+
 
* [[Language Bindings/Smoke|Smoke]]
+
==Support for Qt3 / KDE3== <!--T:13-->
</div>
+
 
__NOTOC__
+
<!--T:14-->
 +
* [[Development/Languages/Perl|Perl]]
 +
* [[Development/Languages/Java|Java]]
 +
* [[Development/Languages/JavaScript|JavaScript (ECMAScript)]]
 +
* [[Development/Languages/Tools|KDE interaction tools]] (Shell)
 +
 
 +
==Building current git master== <!--T:15-->
 +
 
 +
<!--T:16-->
 +
It is recommended to have the following in ~/.gitconfig:
 +
<syntaxhighlight lang="text">
 +
[url "git://anongit.kde.org/"]
 +
    insteadOf = kde:
 +
[url "ssh://git@git.kde.org/"]
 +
    pushInsteadOf = kde:
 +
</syntaxhighlight>
 +
to pull from the anongit servers, but push to the main git server.
 +
 
 +
<!--T:17-->
 +
Clone the repositories with
 +
<syntaxhighlight lang="bash">git clone kde:smokegen
 +
git clone kde:smokeqt
 +
git clone kde:smokekde
 +
git clone kde:qtruby
 +
git clone kde:korundum
 +
git clone kde:qyoto
 +
git clone kde:kimono
 +
git clone kde:perlqt
 +
git clone kde:perlkde
 +
git clone kde:kross-interpreters
 +
</syntaxhighlight>
 +
 
 +
<!--T:18-->
 +
Building happens as usual with
 +
<syntaxhighlight lang="bash">cmake <src-dir> -DCMAKE_INSTALL_PREFIX=/usr
 +
make
 +
make install</syntaxhighlight>
 +
 
 +
<!--T:19-->
 +
Smokegen has to be built first, then smokeqt and smokekde. After that you can then build the various language bindings. Note that the KDE bindings part always depends on the Qt part - so you have to build this one first.
 +
 
 +
<!--T:20-->
 +
kross-interpreters contains the language plugins for kross. They do not depend on any of the above.
 +
 
 +
</translate>

Latest revision as of 19:51, 12 July 2012

Other languages:Greek 100% • ‎English 100% • ‎Dutch 100% • ‎Chinese (China) 100%

KDE supports several programming languages for KDE 4 development.

Contents

[edit] Stable and Mature

Support for these languages is mature, fully maintained and suitable for application development:

[edit] In Development

Support for these languages is still in development:

[edit] Bindings Technologies and Embedding

  • Smoke - Provides infrastructure which is used for creating bindings for multiple languages such as Ruby, C# and PHP.
  • Kross - Provides embedded scripting for C++ applications. Multiple languages such as Python, Ruby, JavaScript, QtScript, Falcon and Java are supported.
  • QtScript - The QtScript binding generator.
  • SIP - Used to generate the bindings for Python.

[edit] Support for Qt3 / KDE3

[edit] Building current git master

It is recommended to have the following in ~/.gitconfig:

[url "git://anongit.kde.org/"]
    insteadOf = kde:
[url "ssh://git@git.kde.org/"]
    pushInsteadOf = kde:

to pull from the anongit servers, but push to the main git server.

Clone the repositories with

git clone kde:smokegen
git clone kde:smokeqt
git clone kde:smokekde
git clone kde:qtruby
git clone kde:korundum
git clone kde:qyoto
git clone kde:kimono
git clone kde:perlqt
git clone kde:perlkde
git clone kde:kross-interpreters

Building happens as usual with

cmake <src-dir> -DCMAKE_INSTALL_PREFIX=/usr
make
make install

Smokegen has to be built first, then smokeqt and smokekde. After that you can then build the various language bindings. Note that the KDE bindings part always depends on the Qt part - so you have to build this one first.

kross-interpreters contains the language plugins for kross. They do not depend on any of the above.


This page was last modified on 12 July 2012, at 19:51. This page has been accessed 74,575 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal