Contents
Документация по Vala
Документация всё ещё находится в состоянии наполнения. Текущий черновик можно найти тут: Manual (Английский). Он охватывает большую часть языка и в значительной степени подробный, но может содержать ошибки.
Онлайн документация API (Зеркало) - Обзор пакетов и классов
Учебники
Если хотите начать программировать на Vala, то прочтите эти статьи и посмотрите на что вы способны.
Учебник быстрого старта по GTK+ в Vala (Screencast)
Документация по Vala (В процессе разработки.)
Введение в асинхронные функции (Испанский блог)
Примеры программирования по Vala - Часть 1 (Персидский)
Инструкции для начинающих и примеры кода - GNOME Developer Platform
Давайте начнём - Elementary OS учебники, описывающие построение системы, пакеты и Gtk+ GUI приложения
Flappy GNOME Tutorial - фреймворк GTK+ не предназначен для анимированных игр, но тут рассказывается как обойти это ограничение с использованием CSS в GTK+ 3.8+
Genie
Genie - это другой язык программирования, который поддерживает компилятор Vala. Его синтаксис очень похож на Python.
Статьи, блоги и примеры кода - здесь можно найти множество ссылок на описания, статьи, блоги, примеры и коды проектов
Разрабатываем Genie - отличное место старта для тех, кто решил улучшить сканер и парсер в Genie, ссылки на каналы разработчиков и подробное описание как скачать и скомпилировать исходный код Vala
Привязки (Bindings)
Обзор привязок - наиболее полный список. Привязки указаны в порядке их выпуска: upstream библиотеки; Vala; the Vala Extra VAPIs репозитарий и индивидуальные
Написание привязок - создавайте привязки с использованием самоанализа
Vala и самоанализ GObject - программирование в Vala и использование Ruby, Python, Lua, JavaScript и других языков
Самостоятельное написание VAPI файлов - документация описывает способ самостоятельного написания VAPI файлов для библиотек C без использования самоанализа GObject
Другие источники
Planet Vala - An rss aggregator of blogs about Vala and more
Vala Journal - A periodic summary of what is going on around the Vala programming language
Synchronization in Vala - Yorba blog posting
Interfaces in Vala - Yorba blog posting
Текущее состояние
Примеры программ
Если при компиляции примеров возникают ошибки, то попробуйте последнюю версию Vala. Некоторые дистрибутивы поставляются не с самой последней версией компилятора, поэтому некоторые возможности могут быть не доступны. Так же убедитесь, что соответствующие библиотеки установлены с их заголовочными файлами (пакеты *-devel для RedHat/Fedora/SuSE, а *-dev - для Debian/Ubuntu).
Характеристики языка и вводные примеры
Основы: Коллекции, файлы, ввод/вывод, работа с сетью, IPC
Gee Samples (Коллекции: lists, sets, maps, iterables)
GIO Samples (Ввод/вывод, файловые операции)
Сжатие GIO (упаковка/распаковка файлов)
Настройки GIO (Параметры приложения)
Работа с сетью GIO (Работа с сетевыми сокетами)
Примеры Soup (HTTP клиент / сервер)
Базовые примеры работы с D-Bus клиент/сервер (Взаимодействие между процессами)
Пример клиента D-Bus (пример клиента D-Bus "real world")
Методы Async (использование специального синтаксиса Vala для асинхронных операций)
Интерфейс пользователя
GTK+ Samples (GUI toolkit)
GDL Sample (Docking widgets)
Mx Samples (MeeGo netbook UX toolkit)
WebKit Sample (Embeddable web browser engine)
StatusIcon Sample (Showing icons in the systray/notification area)
Мультимедиа и графика
GStreamer Samples (Multimedia: Audio, Video)
Cairo Sample (2D vector graphics)
Clutter Sample (Animation framework)
Pango Sample (Font rendering)
Poppler Sample (PDF rendering)
SDL Samples (Full screen graphics and game programming)
OpenGL Samples (2D and 3D graphics)
PulseAudio Samples (Audio playback)
GNOME платформа
Gnome-Desktop and GMenu Sample (Inspecting the application menu)
Использование GLib
MarkupParser Sample (Parsing simple XML files)
Plugin Sample (Loading modules at runtime)
Threading Samples (Concurrency and Synchronization)
Работа с базами данных
Разное
Curses Sample (Terminal control library)
GSF Sample (Deflating ZIP archives)
GSL Samples (Numerical calculations)
Loudmouth Sample (Jabber instant messaging)
Lua Sample (Scripting)
Tiff Sample (Image loading/saving)
Shared Library Sample and how to call Vala code using GObject introspection
Deprecated Samples (Examples using deprecated libraries such as GNOME 2 panel applets)
Projects Developed in Vala
Vala Specific
Autovala - A project manager for Vala that automatically creates and maintains CMake scripts.
Gee - Collection Library
gtkaml - An Application Markup Language for GTK+/Vala.
Maja - Vala to Javascript compiler.
libmodulo - Dependency Injection / Inversion of Control
Sampala - A sample Vala application demonstrating Autotools and i18n
Vala Benchmarks - Compare Vala versus others languages à la http://shootout.alioth.debian.org/.
Valadate - Unit Testing Framework
vala-dbus-binding-tool - Create Vala D-Bus Interfaces from XML Specifications
Valadoc - Documentation generator for generating API documentation from Vala source code.
Valag - Vala Graphviz code tree and control flow graph generator
Val(a)IDE - Small IDE for the Vala language
ValaSwig - Vapi to Swig interface translator to create bindings for python, perl, ruby,.. from a vapi description.
ValaWinPKG - Vala Package manager, install needed MinGW libraries on Windows®.
Applications / Applets / Other Projects
AllTray - A program for docking software to the system tray/notification area.
Asteroids_Vala- Simple game using OpenGl and SDL
Baobab - Disk usage analyzer
Birdfont - A font editor
Caméléon - Easy file converter.
Cheese - Cheese is an application that takes photos and videos from your webcam.
Commandeer - A sysadmin tool to lock the desktop while a command runs.
Corebird - A modern Gtk+ Twitter client
Cornucopia - Freesmartphone.org services middleware for mobile devices (2nd incarnation).
Cronopete - A backup utility, which aims to be a clone of Apple's Time Machine.
dconf editor - The dconf configuration editor
Déjà Dup - A backup utility.
Diodon - GTK+ clipboard manager.
DSync - Directory Sync - simple rsync frontend for Maemo and GNOME
DVB Daemon - Daemon to setup your DVB devices, record and watch TV shows and browse EPG.
Ease - Presentation authoring tool for the GNOME desktop.
elementary OS - Vala is the language of choice for elementary OS.
Epris music player - A D-Bus service and command line client to listen to music. Unlike xmms2 or mpd, it uses GStreamer and D-Bus.
Fillmore - A Multitrack audio recorder for GNOME
Final Page - A tool to reorganize, split and merge PDF documents.
Folks - A library that aggregates people from multiple sources to create metacontacts.
Calculator - GNOME Calculator
Games - Simple game launcher for GNOME
Pantheon-Mail - Почтовое приложение.
Geary - Почтовое приложение, созданное для GNOME 3.
Gitg - git repository viewer for gtk+/GNOME.
Chess - Chess game
Global Menu - A globally-shared menu bar for GNOME.
Gmail Notify - A Gmail notification app
Gnome Encfs Manager - A manager and mounter for EncFS stashes.
Gnome media applet - A GNOME applet to simply mount/umount removable media.
Gnome Pie - A visual application launcher for the Gnome Desktop.
GNOME Scan - A scan library for GNOME.
gst-plugins-cl - An OpenCL plugin for gstreamer written in vala.
Gwibber - Microblogging client
GXml - An XML library
Hum - A lightweight music player built on DBus, Tracker, and GStreamer.
i4uc - An IDE for micro-controllers.
Iagno - Strategy game
LaTeXila - An integrated LaTeX environment.
lekhonee-gnome - A desktop client for Wordpress.
libvfcgi - FastCGI library for GObject/Vala.
Lights Off - Logic game
Lingo - A dictionary application.
Listaller - A distro-agnostic application management and software installation tool based on PackageKit.
Lucruri - Todo list and note taking application.
Mahjongg - Mahjongg game
Marlin - The sexiest fish in the large sea of file-browsers
Meiga - Light and easy content server for your desktop.
Mines - Minesweeper game
Mind Map Architect - Program for manipulating with mind maps
Mipsdis - MIPS32 disassembler for stripped ELF (without section tables)
moserial - A serial terminal for the GNOME desktop.
MPRIS Applet - MPRIS client panel applet/plugin for GNOME and Xfce.
Multiplication Puzzle - A puzzle game.
Mutiara - A motif designer based on fractals.
OMAP Media Apps - GStreamer and GTK+ based applications for the OMAP platform, written in Genie.
Paldo Installer - Installer for the Paldo Linux Distro.
Pasang Emas - Traditional board game of Brunei.
PDF Presenter Console - A Keynote like multi monitor "Presenter Console" using PDF as input.
PDF PC - A fork from PDF Presenter Console with several new options and enhancements.
People Project - Aims at providing an unified access to contacts for desktop applications.
Picsaw - Jigsaw puzzle game
Pino - A Twitter client.
Plank - The world's simplest dock.
Postler - ultra simple desktop mail client
PSchema - A framework for investigating artificial intelligence through the use of Piagetian schema learning.
Quadrapassel - Tetris game
radare - Multi-architecture assembly code graph in Vala-Cairo.
RhythmPnP - Rhythmbox Universal Plug'N'Play Media Renderer Plugin
Rygel - A collection of UPnP/DLNA media devices for GNOME.
Scratchpad - Spatial text editor for the GNOME desktop.
SevenUSBurn - Burn ISO images to USB devices.
Shishen Sho Mahjongg for Gtk and Maemo - A board game similar to Mahjong.
Shotwell - A photo organizer.
Simple Scan - Scanner application
SmartSim - Visual digital logic design and simulation package.
Steadyflow - A simple download manager.
Swell Foop - Puzzle game
Switchboard - Modular desktop settings hub.
Synapse - A semantic file launcher
systemd - Graphical frontend for the systemd system and service manager.
Tetravex - Puzzle game
Tuntun - A panel applet to control the OpenVPN daemon.
Vala - The Vala compiler itself is written in Vala.
ValaTerm - A lightweight terminal emulator.
Vala Terminal - A lightweight terminal based on VTE.
Valence - A simple PDF viewer.
Vinagre - A VNC Client for the GNOME Desktop. Parts of Vinagre is written in Vala.
Watray - A general purpose IDE.
XML Bird - XML parser
Xfmpc - A small MPD client.
Xfce4 Notes Plugin - A quick-to-scribble notes application.
Xfce4 Stopwatch Plugin - A plugin for the panel that keeps track of elapsed time
Xnoise - A media player.
Valum - Web framework for Vala. Inspired by sinatra and allows lua scripting.
Zeitgeist - Event logging framework