31 March, 2013

Vala 0.20.0


Developer:

Website:

License / Price:

Platforms:

Databases:

Language:

Last Updated:

Category:
Juumlarg Billeter | More scripts
live.gnome.org
LGPL - GNU Lesser General Public License 

Linux / BSD
N/A
C/C++
March 31st, 2013, 18:39 GMT [view history]
C: \ Programming Methods and Algorithms

Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different API compared to applications and libraries written in C.

Vala supports modern language features as the following:
Interfaces
Properties
Signals
Foreach
Lambda expressions
Type inference for local variables
Generics
Non-null types
Assisted memory management
Type modules (Plugins)

Vala is designed to allow access to GObject-based libraries, without any runtime bindings.

Each to be used library requires a Vala API file at compile-time, containing the class and method declarations in Vala syntax. Vala currently comes with experimental bindings for GLib and GTK . It's planned to provide generated bindings for the full GNOME Platform at a later stage.

Using classes and methods written in Vala from an application written in C is not difficult. The Vala library only has to install the generated header files and C applications may then access the GObject-based API of the Vala library as usual.

It should also be easily possible to write a bindings generator for access to Vala libraries from applications written in e.g. C# as the Vala parser is written as a library, so that all compile-time information is available when generating a binding.

Here are some key features of "Vala":

Language Feature and Introductory Samples:
· Basic Sample
· Advanced Sample
· String Sample
· Character Sample
· Signals and Callbacks
· Properties Sample
· Conditional Compilation Sample

Basics: Collections, Files, I/O, Networking, IPC:
· Gee Samples (Collections: lists, sets, maps, iterables)
· GIO Samples (Input/Output, file operations)
· GIO Networking Sample (Network socket communication)
· Soup Sample (HTTP client / server)
· D-Bus Client Samples (Inter-process communication)
· D-Bus Server Sample

GUI Programming:
· GTK+ Samples (GUI toolkit)
· GTK+ Custom Widget Samples
· GTK+ Custom CellRenderer Samples
· GDL Sample (Docking widgets)
· Hildon Sample (Mobile devices UI)
· WebKit Sample (Embeddable web browser engine)

Multimedia and Graphics:
· GStreamer Samples (Multimedia: Audio, Video)
· Cairo Sample (2D vector graphics)
· Clutter Sample (Animation framework)
· Pango Sample (Font rendering)
· Poppler Sample (PDF rendering)
· SDL Sample (Full screen graphics and game programming)
· OpenGL Samples (2D and 3D graphics)

GNOME Platform:
· GConf Sample (Application settings)
· Gnome-Desktop and GMenu Sample (Inspecting the application menu)
· Panel Applet Sample

GLib Samples:
· List Sample
· MarkupParser Sample (Parsing simple XML files)
· Plugin Sample (Loading modules at runtime)
· Threading Samples (Concurrency and Synchronization)
· Time Sample
· Unit Tests Sample
· Value Sample

Database Access:
· CouchDB Sample (Document-oriented database)
· SQLite Sample
· PostgreSQL Sample

Other:
· Curses Sample (Terminal control library)
· GSL Samples (Numerical calculations)
· Input Samples
· Implementing Vala interfaces in C
· Loudmouth Sample (Jabber instant messaging)
· Lua Sample (Scripting)
· Tiff Sample (Image loading/saving)
· XML Sample
· Json Sample
· ZLib Sample

Requirements:

· GLib 2.10 or later

What's New in This Release: [ read full changelog ]

· Bug fixes and binding updates.


Download button
Via: Vala 0.20.0

0 Comment: