Bu yazıda sizlere pardus veya diğer linux dağıtımları için nasıl uygulama geliştirileceği anlatılacaktır. Bu yazıda Vala programlama dili ve gtk3 üzerinden anlatım yapılmıştır.
0. Hazırlık aşaması
Öncelikle derleme ve paketleme aşaması için aşağıdaki paketleri yüklememiz gereklidir.
apt install libgtk-3-dev valac meson
1. Uygulamanın yazılması
Vala dokümanları için:
Vala programlama dilini öğrenmek için:
https://sulincix.github.io/sayfalar/html/vala-dersi.html
Kodlamaya başlayalım
Gtk kullanarak uygulamamızı aşağıdaki gibi yazalım.
Aşağıda boş pencere oluşturma örneği verilmiştir.
using Gtk; int main (string[] args) { Gtk.init (ref args); var window = new Window (); window.destroy.connect (Gtk.main_quit); window.show_all (); Gtk.main (); return 0; }
Uygulama başlatıcısı hazırlayalım.
Uygulamamızın uygulama menüsünde gözükmesi için aşağıdaki gibi bir dosya hazırlamamız gerekmektedir. Bu dosyayı application.desktop olarak adlandırarak kaydedin.
[Desktop Entry] Name=uygulama-ornek Comment=Example application Exec=uygulama-ornek Terminal=false Type=Application Icon=uygulama-ornek Categories=System; Keywords=uygulama,ornek
Kategori listesine https://specifications.freedesktop.org/menu-spec/latest/apa.html adresinden ulaşabilirsiniz.
Uygulama simgesi hazırlayalım.
Uygulamamız için svg formatında bir simge hazırlamamız gerekmektedir. Bunun için inkscape kullanabilirsiniz.
Lisans ekleyelim.
Şu bağlantıyı inceleyin: https://gonullu.pardus.org.tr/gnu-gpl-lisanslarini-kullanmak/
Kodu derleyelim
Vala kaynak kodları çalıştırılmak için öncelikle derlenmelidir. Bunun için aşağıdaki gibi bir işleme ihtiyaç duyulmaktadır.
valac -o main main.vala --pkg gtk+-3.0 # veya şu şekilde de yapılabilir. valac -C main.vala --pkg gtk+-3.0 gcc -c main.o main.c `pkg-config --cflags gtk+-3.0` gcc -o main main.o `pkg-config --libs gtk+-3.0`
Uygulamayı yükleyelim.
Uygulamamızın komut olarak çağrılabilmesi için sistemde /usr/bin dizini içerisinde bulunması gerekmektedir. Bunun için uygulamamızın derlenmiş dosyasını aşağıdaki gibi kurabiliriz.
install -m755 main /usr/bin/uygulama-ornek/ install -m644 application.desktop /usr/share/applications/org.uygulama.ornek.desktop install -m644 icon.svg /usr/share/icons/hicolor/scalable/apps/uygulama-ornek.svg
2. Uygulamamız için derleme talimatı hazırlama
Uygulamamızın kodun derleme aşaması için kullandığımız komut kullandığımız kütüphanelerin sayısı arttıkça veya kaynak kod dosyalarının sayısı arttıkça daha karmaşık hale gelmektedir ve komutu her seferinde elle yazmak zorlaşmaktadır. Bu yüzden derleme talimatına ihtiyaç duyulmaktadır. Bu yazıda meson derleme sistemi anlatılacaktır.
meson ile ilgili ayrıntılı bilgiye https://mesonbuild.com/ adresinden ulaşabilirsiniz.
meson yazmaya başlayalım.
İlk olarak meson dosyamıza aşağıdaki gibi bir tanımlama ekleyerek proje adını belirleyelim.
project('uygulama-ornek', 'vala', 'c')
Uygulama bağımlılıklarını tanımlayalım.
deps = [ dependency('gtk+-3.0'), ]
Kaynak kod listemizi tanımlayalım.
sources = [ 'main.vala', ]
Son olarak uygulamanın derlenmesi için gereken tanımlamayı yapalım.
executable('uygulama-ornek', sources, dependencies: deps, install: true)
Uygulamamızın diğer dosyalarını kopyalatalım.
# uygulama simgesi install_data('icon.svg', install_dir: get_option('prefix') / 'share/icons/hicolor/scalable/apps/',rename: 'uygulama-ornek.svg') # uygulama başlatıcısı install_data('application.desktop', install_dir: get_option('prefix') / 'share/applications/',rename: 'org.uygulama.ornek.desktop')
En son olarak meson dosyamız aşağıdaki gibi olacaktır:
project('uygulama-ornek', 'vala', 'c') sources = [ 'main.vala', ] deps = [ dependency('gtk+-3.0'), ] executable('uygulama-ornek', sources, dependencies: deps, install: true) install_data('icon.svg', install_dir: get_option('prefix') / 'share/icons/hicolor/scalable/apps/') install_data('application.desktop', install_dir: get_option('prefix') / 'share/applications/',rename: 'org.uygulama.ornek.desktop')
meson dosyamızı derleyelim ve kuralım.
meson derleme talimatını aşağıdaki gibi derleyip kurabiliriz.
meson setup build --prefix=/usr ninja -C build ninja -C build install
3. Uygulamanın kodunu git üzerinde paylaşma
Uygulamamızın daha kolay şekilde geliştirilmesi ve diğer insanlar tarafından kolay incelenebilmesi için git üzerinde paylaşmamız gerekebilir.
İlk olarak projemizin içerisinde aşağıdaki komutu çalıştıralım.
git init
Öncelikle github/gitlab üzerinde projemizi oluşturalım. Daha sonra da projemize adresini ekleyelim:
git remote add origin git@github.com:kullanici-adi/proje-adi.git
Projemizin derlemede oluşturduğu dosyaların hariç tutulması için gitignore dosyası oluşturalım. Aşağıdaki gibi bir dosya oluşturup .gitignore olarak adlandırarak kaydedin.
build/
Şimdi commit oluşturup git üzerine gönderebiliriz.
git add . git commit -m "First Commit" git push -u origin master