İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

QT Framework hakkında fikri olan var mı?

kizanlik29.03.201223 cevap6.999 görüntüleme
2012'den beri250 mesaj
#1
Nokia, QT Framework ile tüm platformlarda uygulama geliştirilebileceğini iddia ediyor.

Varsa QT Creator ile arayüz geliştirmiş, veritabanına bağlanarak (Api veya SOAP) çalışmış arkadaşların fikirlerini merak ediyorum.
Cevaplar
2007'den beri17 bin mesaj
#2
Vallahi ben bir ara büyük bir merakla baya kurcaladım. Güzel bir framework açıkçası. Kullanışlı ve basit ama C++ ile aram iyi olmadığı için çok kurcalamadım. C#'a nasıl alıştıysam artık, diğerleri angarya geliyor :)
kizanlik Konuyu açan
2012'den beri250 mesaj
#3
C# rahatlığıyla bi' de native uygulamalar yazılabilseydi... :)
2011'den beri597 mesaj
#4
kizanlik dedi: ↑
C# rahatlığıyla bi' de native uygulamalar yazılabilseydi... :)
rahatlık mı, basitlik mi anlaşılmıyor sanki... :D
2007'den beri291 mesaj
#5
kizanlik dedi: ↑
C# rahatlığıyla bi' de native uygulamalar yazılabilseydi... :)
Sanırım WinRT kullanarak C# ile native uygulamalar yazabiliyorsunuz...
kizanlik Konuyu açan
2012'den beri250 mesaj
#6
totleben:

Evet. Bir ara duymuştum ve WinRT'yi incelemiştim. Şimdilik ihtiyacım yok diyerek aklımın bir köşesinde tutuyorum.

WinRT, Windows 8 ile gelen yeni bir teknoloji fakat anladığım kadarıyla form design, events, methods v.b. konulardan öte background işlemlerle ilgili yeni bir yapı getiriyor.

İster C#, ister VB.NET, ister Java dili kullanan programcı olsun gün geliyor başka uygulamalarla veya cihazlarla veri alışverişi yapmak zorunda kalıyor (veri tabanından veri çekmek, dosyadan okumak gibi değil. bellekte). Bu veri alışverişinde de managed code ile unmanaged code sıklıkla karşı karşıya geliyor. İkisi birbirinden tamamiyle farklı yapılar olduğundan, dikkatsizce geliştirilen uygulamalarda kararsız çalışmaya neden olabiliyor. WinRT ile bu sıkıntının aşıldığını algıladım ben.
2011'den beri597 mesaj
#7
kizanlik peki bu denli ayakları yere basan bi yapı, neden hala belirli sistemlerin ve geliştirici forumlarının gölgesi altında kalıyor ?

en azından duyduklarımdan yola çıkarak soruyorum bunu.
kizanlik Konuyu açan
2012'den beri250 mesaj
#8
LeaveNhA:

Soruyu "Microsoft neden ciddiye alınmıyor / dışlanıyor?" olarak algıladım. Doğru mu algıladım?
2011'den beri597 mesaj
#9
kizanlik dedi: ↑
@LeaveNhA:

Soruyu "Microsoft neden ciddiye alınmıyor / dışlanıyor?" olarak algıladım. Doğru mu algıladım?
sorumu geri çekiyorum, cevabı kendim keşvettim de denebilir aslında.

microsoft düşmanı değilim ama, pekde sevmem şahsen... :D
2008'den beri3.195 mesaj
#10
@kizanlik Qt hakkında merak ettiğiniz konu nedir ?
Qt framework olarak eksiksiz geliyor. Evet yeni symbian tabanlı telefonlar için, ek uygulama yüklemeden Qt ile birşeyler yapabilirsiniz. Qt ile yapamayacağınız şey yok gibi. Zaten alt düzeyde işler yapmak istersen istediğin C veya C++ kodunu direkt kullanabilirsin. Qt; GCC, MinGw ve MsVC++ uyumludur. Özellikle signal - slot yapısı hayli iş görmekte.

Qt ile yaptığınız uygulamaları ister açık, ister kapalı kaynak yapabilirsiniz. Ücretli satmak ve şirketinizde kullanmak konusunda da özgürsünüz.
Herşeyi temel düzeyde incelemek iyidir. C# ile de yazılım geliştiriyorum fakat ağırlık C/C++. Qt ise büyük bir yardımcı. Uzun zamandır kullandığım için rahatlıkla C# ve Java' ya göre daha iyi soyutlama yapıyor diyebilirim.

Bu arada Windows 8' i ben bile beğendim. Lisansı yükseltmeyi düşünüyorum.
kizanlik Konuyu açan
2012'den beri250 mesaj
#11
kosasker:

Teşekkür ederim.
Bugün kurdum, yeteri kadar inceleyemedim. Genel olarak merak ettiklerim:

- Geleceği. Geliştirilmesine devam edilir mi? Geliştirici ilgi seviyesinin trendi nedir? Artan mı azalan mı?

- Nokia ürünlerinde, olabildiği kadar kusursuzdur muhakkak. Diğer markalarla arası nasıl? (Anladığım kadarıyla, hedef tüm platformlar.)

- Uygulama geliştiştirme platformu olarak Linux mu Windows mu tercih edilmeli? (Eclipse debugger Windows'da yavaş mesela. Aynı donanımda Linux'ta daha hızlı.)

- Gördüğüm kadarıyla Necessitas da eklenince Android uygulamalar geliştirilebiliyor.

Fakat. Hem SDK, hem de NDK ihtiyacı var. Ayrıca, uygulama çalıştırılınca QT Framework'ün (sanırım) ilgili kütüphanelerini kuruyor. Kafamı karıştırdı. Android uyumluğu için neler söylenebilir?

- Layout yapısı akılcıl mı? Android garip. XAML ile karşılaştırılabilir mi? Evetse, neler söylenebilir?

- C# ile tanışık olmanız iyi oldu. DataBinding o kadar pratik mi?

- Api veya SOAP servisleriyle arası nasıl?

Şimdilik bu kadar.
2009'den beri1.405 mesaj
#12
Eclipse + Eclipse Qt plugin (qmake ve .pro dosyalarını iyi öğren)+ Qt 4.8.1 (mümkünse kendin derle, zor ama ince ayrıntıları öğrenirsin olmadı hazır kullan).

Symbian için Qt öğrenmeye çalışma, her yerde çalışan ( arm kart üzerine linux kurup üzerine qt ile uygulama geliştirip ev otomasyonu bile yapabilirsin) GUI uygulaması yazmayı öğrenmiş olursun.

İlk konun qt sinyal slot diye arat ve qt nin sayfasındaki anlatılanları oku. Anlamasan da bir kere daha oku ve dene. Sonra gerisi gelir.
kizanlik Konuyu açan
2012'den beri250 mesaj
#13
raxetul:

Teşekkür ederim.

Geçmişte FreeBSD gurularından olan bi' arkadaşım da benzer şeyler söyledi.

Ayrıca, embed-Linux veya embed-Windows ile yapmayı planladığım bi' proje var. Aynı arkadaşım MontaVista + QT ihtiyacını karşılar dedi.

Mobil dünyanın geldiği nokta, yol ayrımına getirdi beni. Windows üzerinde çalışan 2 milyona yakın satırlık uygulamam var(dı). XAML ile 1.5 milyonun biraz üzerine geriledi.

Çok fazla savrulmadan, uygulamanın bi' kısmını mobil cihazlara kaydırmak istiyorum. Bu nedenle de önü açık ve .NET'e yakın bi' ortam bulmaya çalışıyorum.

Windows 8 gerçekten harika ama Microsoft'a karşı geçmişten gelen ön yargının kırılması, mobil dünyada çok vakit alacak gibi.
2008'den beri3.195 mesaj
#14
kizanlik dedi: ↑
@kosasker:

Teşekkür ederim.
Bugün kurdum, yeteri kadar inceleyemedim. Genel olarak merak ettiklerim:

- Geleceği. Geliştirilmesine devam edilir mi? Geliştirici ilgi seviyesinin trendi nedir? Artan mı azalan mı?

- Nokia ürünlerinde, olabildiği kadar kusursuzdur muhakkak. Diğer markalarla arası nasıl? (Anladığım kadarıyla, hedef tüm platformlar.)

- Uygulama geliştiştirme platformu olarak Linux mu Windows mu tercih edilmeli? (Eclipse debugger Windows'da yavaş mesela. Aynı donanımda Linux'ta daha hızlı.)

- Gördüğüm kadarıyla Necessitas da eklenince Android uygulamalar geliştirilebiliyor.

Fakat. Hem SDK, hem de NDK ihtiyacı var. Ayrıca, uygulama çalıştırılınca QT Framework'ün (sanırım) ilgili kütüphanelerini kuruyor. Kafamı karıştırdı. Android uyumluğu için neler söylenebilir?

- Layout yapısı akılcıl mı? Android garip. XAML ile karşılaştırılabilir mi? Evetse, neler söylenebilir?

- C# ile tanışık olmanız iyi oldu. DataBinding o kadar pratik mi?

- Api veya SOAP servisleriyle arası nasıl?

Şimdilik bu kadar.
Bu yazıda sorularınızı tek tek cevaplamaya uğraşacağım fakat bir nokta üzerinde durmak gerekir. C# ile yazılım geliştirmenin kolaylığı, eğer yazılımcı Visual Studio lisansına sahipse geliyor. Araçlar kolaylık sağlıyor görünüyor fakat konfigürasyon dosyaları ve XAML denen nane işleri o kadar karmaşıklaştırıyor ki, insan kod mu yazacak, yoksa ayar mı yapacak şaşırıyor. Ayrıca Qt ile daha temiz ve daha az kod ile, daha etkili programlar yazabilirsiniz. Hakkaten de böyledir. Örnek olarak, TCP üzerinden senkron iletişim yapan bir programı, iki farklı ortamda geliştirmeyi deneyebilirsiniz. İşletim sistemlerine özel geliştirme yapmak konusunda ise bir ayrım var. Windows üzerinde geliştirme yaparken de, Linux üzerinde geliştirme yaparken de, çoğunlukla kullanılan derleyici ile gelen ve/veya işletim sistemi ile gelen SDK lara bağlısınız. Windows için geliştirme yaparken, Microsoft Windows SDK ve Driver SDK, linux da ise çekirdek geliştirme kütüphanelerine ihtiyacınız olacaktır. Symbian için de aynı şey geçerli. Yeni çıkan versiyonları için konuşmuyorum. Symbian 6 için farklı bir SDK kullanılmakta.

-Qt' nin geleceği. Qt şu an açık kaynak lisansına sahip olarak geliştirilmeye devam ediyor ve bence geleceği bugün olduğı gibi parlak. Qt geliştirici topluluğu, işlerinde ciddi insanlardan oluşuyor ve kendileri dışında bir çok projeye destek veriyorlar. İlgi seviyesinde hiçbir azalma olmadı. Çünkü bugün python için de kullanılan PyQt modülü oldukça popüler. Microsoft ve google, Qt projesinden bir çok geliştiriciyi kendilerine çekmek için çalışmalar yaparlar. Bu halen de devam etmekte. Windows 8 ile bu girişim boşu boşuna yapılmış olacak. Zaten Qt taşınabilir olsun, olmasın tüm windows sürümlerinde çalışabiliyor. Böyle bir durumda Qt ye olan ilginin azalması pek olası görünmüyor.

-Taşınabilirlik ve mükemmellik. Qt nokia üzerinde pek de kusursuz değil. Diğer platformlar için de öyle. Örneğin dün QNetworkAccessManager ile çalışırken bir bug buldum ve kontrol ettim. Bug yeni oluşmuş ve bir sürü yoruma sahip idi. Qt ister C++ için olsun, ister diğer diller için port edilmiş olsun çok fazla kullanılıyor. KDE dediğimiz sistem %90 oranında Qt kodundan oluşmakta. Ayrıca Pardus da yapılmış özgün araçların nerede ise tamamı Qt ve PyQt ile hazırlanmış durumda. Hataları var ve bunlar sürekli gideriliyor.

Taşınabilirlik konusu ise başlı başına ayrı bir konu. Sadece ve sadece Qt kütüphanelerini kullanıp bir uygulama yaparsan, aynı kodları başka bir işletim sisteminde derlemen ve çalıştırman %90 oranında mümkün. %10' luk kısım için http://doc.qt.nokia.com/4.7-snapshot/desktop-systray.html de verilen örneği inceleyebilirsin. MacOsX için fazladan işler yapman gerekebiliyor genelde.

-Uygulama geliştirme platformu konusunda kesinlikle ve kesinlikle MacOsX diyorum :D Şaka bir yana tabii ki linux çekirdeği kullanan bir ortam tercih edilmeli. Geliştirici için linux tabanlı işletim sistemleri daha uygun ortamlar sunuyor. İstediğin her türlü araç elinin altında bulunuyor ve kütüphanelerin de yardım sayfaları elinin altında bulunuyor. SSH, tcpdump gibi araçlar, eclipse, emacs çok iş görüyor. Evet bu yazdıklarımın hepsinin windows versiyonları mevcut fakat birden fazla masaüstünü serbestçe kullanmak ve özellikle unity kısayolları bu kadar yerinde iken, windows da fare kullanmak hamallık gibi geliyor.

Kod yazarken ben şahsen sadece kod yazmak istiyorum. Ellerim klavyenin üzerinde kalmalı. Qt creator bu boşluğu birnebze dolduruyor. Açıkcası onun kısayollarına da çok alıştım.

İşin zevkli ve kolay yazılım geliştirme yönü farklı, sisteme özel yazılım geliştirme farklı bir olay. Qt ve qmake ile Linux tabanlı bir sistem üzerinde de, windows için program geliştirebilirsin ve bunun için çarpraz derleyiciye ihtiyacın yok. Linux makinaya mingw kurup, direkt devam edebilirsin. Fakat macera aramak ve boşuna zaman kaybetmek gereksiz. Windows için birşeyler yapıyorsan, windows da çalışmalısın.

-Evet şu anda Qt ile android için ve iOs için uygulama geliştirmek mümkün. Apple firması Qt yi dükkandan kaldırana kadar durum daha da iyiydi. Android uyumluluğu iyi.

-Qt nin Model view controller yapısı (MVC) var. Ayrıca QML diye adlandırılan bir yapı mevcut. Bunun dışında HTML5 i de arayüz olarak kullanabilirsiniz. Qt Creator ile yeni proje oluştururken seçeneklere göz atarsan ne demek istediğimi anlarsın :)

- Data binding e ne gerek var diye bir soru sorsam beni ayıplamazsın sanırım.

- Microsoft teknolojilerini, Windows SDK ile gelen kütüphaneleri projene bağlayarak kullanabilirsin.

Son cevapları kısa yazmak zorunda kaldım. Eksik veya yanlış bir anlaşılma varsa affola. Qt creator ile F1 tuşu her işini görür ;)

Edit: Unutmadan sinyal-slot yapısı çok çok iş görüyor. C# da kullanıcı kendi olay bildirimini (event) yapacak diye kırk dereden su getirmek lazım. Qt de ise bu iş 7 yaşında çocuğun bile anlayacağı kadar basit!
2007'den beri17 bin mesaj
#15
Aslında QT'ye bir ara geçiş yapmak için baya çabaladım ama C++ bana çok kasıntı geliyor. Gerçi QT o kasıntılığı bir nebze azaltıyor ama alışkanlıkları değiştirmek bildiğiniz üzere sıkıntı. QT'ye sıfırdan başlayacak biri için önerebileceğiniz kaynaklar var mı?
kizanlik Konuyu açan
2012'den beri250 mesaj
#16
Öncelikle, bu ayrıntılı cevabınız çok ama çok teşekkür ederim.

----
Bu yazıda sorularınızı tek tek cevaplamaya uğraşacağım fakat bir nokta üzerinde durmak gerekir. C# ile yazılım geliştirmenin kolaylığı, eğer yazılımcı Visual Studio lisansına sahipse geliyor. Araçlar kolaylık sağlıyor görünüyor fakat konfigürasyon dosyaları ve XAML denen nane işleri o kadar karmaşıklaştırıyor ki, insan kod mu yazacak, yoksa ayar mı yapacak şaşırıyor.
Kabaca, kodlama / tasarım / veritabanı en az üç kişinin yapması gereken bir iş aslında. Uygulama geliştiricileri genelde tek başlarına veya ihtiyacın çok altında sayıyla uygulama geliştirmeye çalışıyor / zorlanıyor. IDEler mümkün olduğunca işleri pratikleştiriyor ama ne yazı ki bir noktaya kadar.

----
Ayrıca Qt ile daha temiz ve daha az kod ile, daha etkili programlar yazabilirsiniz. Hakkaten de böyledir. Örnek olarak, TCP üzerinden senkron iletişim yapan bir programı, iki farklı ortamda geliştirmeyi deneyebilirsiniz.
Bu nokta çok önemli. Kod ne kadar temiz yazılırsa, debug da o kadar kolay oluyor. Visual Studio'nun sunduğu, #region ve #endregion ile kodu bölebilmek çok işime yarıyor. IDEler (Eclipse, NetBeans, IntelliJ v.s.) bu imkanı vermiyor (belli başlı yerlere otomatik olarak koydukları +/- yetersiz).

----
İşletim sistemlerine özel geliştirme yapmak konusunda ise bir ayrım var. Windows üzerinde geliştirme yaparken de, Linux üzerinde geliştirme yaparken de, çoğunlukla kullanılan derleyici ile gelen ve/veya işletim sistemi ile gelen SDK lara bağlısınız. Windows için geliştirme yaparken, Microsoft Windows SDK ve Driver SDK, linux da ise çekirdek geliştirme kütüphanelerine ihtiyacınız olacaktır. Symbian için de aynı şey geçerli. Yeni çıkan versiyonları için konuşmuyorum. Symbian 6 için farklı bir SDK kullanılmakta.
Bu konuda "Türkiye ile Çin arasında mekik dokumak zorunda kalan birinin yaşayabileceği kültür uyum problemi"ni yaşamaktan korkuyorum. Sistemlerin ve programlama dillerinin kendilerine has kültürü olduğu tartışılmaz bir gerçek.

Yepyeni bir kültüre adapte olmaktansa (tamamen taşınmayı planlamıyorum), sahip olduğuma en yakınını tercih etmek istiyorum. Platform Linux olunca da (Windows haricindekiler ya FreeBSD ya da Linux) bu pek mümkün değil. QT sağlam köprü olur gibi geliyor.

----
-Qt' nin geleceği. Qt şu an açık kaynak lisansına sahip olarak geliştirilmeye devam ediyor ve bence geleceği bugün olduğı gibi parlak. Qt geliştirici topluluğu, işlerinde ciddi insanlardan oluşuyor ve kendileri dışında bir çok projeye destek veriyorlar. İlgi seviyesinde hiçbir azalma olmadı. Çünkü bugün python için de kullanılan PyQt modülü oldukça popüler. Microsoft ve google, Qt projesinden bir çok geliştiriciyi kendilerine çekmek için çalışmalar yaparlar. Bu halen de devam etmekte. Windows 8 ile bu girişim boşu boşuna yapılmış olacak. Zaten Qt taşınabilir olsun, olmasın tüm windows sürümlerinde çalışabiliyor. Böyle bir durumda Qt ye olan ilginin azalması pek olası görünmüyor.
Bunu duymak içimi rahatlattı.

Oracle son dönemlerde hırçınlaştı. Java üzerinde lisans baskısı kurdu (haklı da aslında). Linux dünyası da Oracle Java dağıtımı konusunda tedirgin. Ubuntu, sun-java paketlerinin dağıtımını durdurup OpenJDK dağıtımına başladı.

Bu duruma paralel olarak Python kullanımında da artış var (Klasik C/C++ karmaşasından kaçanların sığındığı Java adalarında fırtına kopacak korkusuyla Python'a sarılma durumu değildir umarım). "Uygulama geliştirilebilir" demeye başlayan şirket sayısında da artış var. Python, bildiğim kadarıyla çok pratik ve çok dinamik bir dil. Python dili kullanan geliştiricilerin PyQt tercih ediyor olmaları, Qt'nin pratikliği hakkında önemli bir gösterge oldu.

----
-Taşınabilirlik ve mükemmellik. Qt nokia üzerinde pek de kusursuz değil. Diğer platformlar için de öyle. Örneğin dün QNetworkAccessManager ile çalışırken bir bug buldum ve kontrol ettim. Bug yeni oluşmuş ve bir sürü yoruma sahip idi. Qt ister C++ için olsun, ister diğer diller için port edilmiş olsun çok fazla kullanılıyor. KDE dediğimiz sistem %90 oranında Qt kodundan oluşmakta. Ayrıca Pardus da yapılmış özgün araçların nerede ise tamamı Qt ve PyQt ile hazırlanmış durumda. Hataları var ve bunlar sürekli gideriliyor.

Taşınabilirlik konusu ise başlı başına ayrı bir konu. Sadece ve sadece Qt kütüphanelerini kullanıp bir uygulama yaparsan, aynı kodları başka bir işletim sisteminde derlemen ve çalıştırman %90 oranında mümkün. %10' luk kısım için http://doc.qt.nokia.com/4.7-snapshot...p-systray.html de verilen örneği inceleyebilirsin. MacOsX için fazladan işler yapman gerekebiliyor genelde.
Hatasız sistem, sanıyorum yoktur. Fakat, Android'in yaptığı hata gibisi de yoktur (API 15 olmuş, hala aynı).

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/TextView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true" />

    <TextView
        android:id="@+id/TextView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/Button1" <---- HATA
        android:layout_below="@id/TextView1" />

    <Button
        android:id="@+id/Button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" />

</RelativeLayout>


Android uygulaması geliştirmişseniz yukarıdaki kodun ne iş yaptığını (yapmaya çalıştığını) hemen anlarsınız. Geliştirmediyseniz, kısaca açıklaması şu:

Layouta iki TextView (statik metin) ve bir Button yerleştiriyor. TextView1 en üstte, Button1 en altta, TextView2 de ikisinin ortasındaki boşlukta olmalı.

@+id, new something() gibi bir anlama geliyor. Java Resource Fileda bir Id yaratıyor, bu Id ile o şeye erişebiliyoruz. @id ise daha önce oluşturulmuş şeyi gösteriyor.

Bu örnek çalışmıyor. Button1, TextView2'den sonra tanımlandığı için ...@id/Button1... satırında hata veriyor çünkü Button1'in varlığından habersiz. İki çözümü var:

- TextView2, Button1'den sonra tanımlanır (bu mantıklı)
- Sıralama aynen kalıyor ama şöyle ilginç bir çözüm:


.
.
.
      android:layout_above="@+id/Button1" <---- Button1 Id burada oluşturtuluyor
        android:layout_below="@id/TextView1" />

    <Button
        android:id="@id/Button1" <---- Oluşturtulan Id atanıyor
        android:layout_width="match_parent"
.
.
.


şaşırdım. Ayrıca, Layout, RelativeLayout. O bunun altında, bu bunun sağında filan denilebiliyor. android:orientation="vertical" ise LinearLayouta özel bir property fakat hata vermiyor.

Anlıyorum. Inheritance / rendering ile ilgili durumlar ama... soğudum. Exception almalıyım (acaba başka almam gereken yerlerde de alamıyor olabilir miyim?).

Bahsettiğiniz hataların, bu kadar temelde olduğunu zannetmiyorum.

----

Devamı gelecek...

--- Mesaj Güncellendi ---

----
-Uygulama geliştirme platformu konusunda kesinlikle ve kesinlikle MacOsX diyorum :D Şaka bir yana tabii ki linux çekirdeği kullanan bir ortam tercih edilmeli. Geliştirici için linux tabanlı işletim sistemleri daha uygun ortamlar sunuyor. İstediğin her türlü araç elinin altında bulunuyor ve kütüphanelerin de yardım sayfaları elinin altında bulunuyor. SSH, tcpdump gibi araçlar, eclipse, emacs çok iş görüyor. Evet bu yazdıklarımın hepsinin windows versiyonları mevcut fakat birden fazla masaüstünü serbestçe kullanmak ve özellikle unity kısayolları bu kadar yerinde iken, windows da fare kullanmak hamallık gibi geliyor.
Şakayla karışık gerçeklik payı da var sanırım. :D

200 civarında video izledim. Android için uygulama geliştirmeyi öğreten videolar.
Yok böyle bi' şey. Hepsi de Apple kullanıyor.
"Imajdan" mı "susuzluktan" mı anlayamadım. :ohmy:

Linux'ta da o kadar çok kütüphane, her kütüphanenin o kadar çok versiyonu var ki... kayboldum.

----
Kod yazarken ben şahsen sadece kod yazmak istiyorum. Ellerim klavyenin üzerinde kalmalı. Qt creator bu boşluğu birnebze dolduruyor. Açıkcası onun kısayollarına da çok alıştım.

İşin zevkli ve kolay yazılım geliştirme yönü farklı, sisteme özel yazılım geliştirme farklı bir olay. Qt ve qmake ile Linux tabanlı bir sistem üzerinde de, windows için program geliştirebilirsin ve bunun için çarpraz derleyiciye ihtiyacın yok. Linux makinaya mingw kurup, direkt devam edebilirsin. Fakat macera aramak ve boşuna zaman kaybetmek gereksiz. Windows için birşeyler yapıyorsan, windows da çalışmalısın.
Aynı fikirdeyim. Microsoft için Microsoft, Apple için Apple, Linux için Linux geliştirici araçları kullanılmalı. Sistemler zaten komplike, port edildiğinde de yeni komplikasyonlar gerçekleşiyor gibi geliyor bana.

Mesela Eclipse. Hakikaten Linux üzerinde daha hızlı çalışıyor. İlginç.

----
-Evet şu anda Qt ile android için ve iOs için uygulama geliştirmek mümkün. Apple firması Qt yi dükkandan kaldırana kadar durum daha da iyiydi. Android uyumluluğu iyi.
Bunu duymak da içimi rahatlattı.

----
-Qt nin Model view controller yapısı (MVC) var. Ayrıca QML diye adlandırılan bir yapı mevcut. Bunun dışında HTML5 i de arayüz olarak kullanabilirsiniz. Qt Creator ile yeni proje oluştururken seçeneklere göz atarsan ne demek istediğimi anlarsın :)
Android de MVC yapısına sahip olduğunu iddia ediyor (nasıl bir MVC yapısıysa).

Çok basit. Üç harf var: M-V-C

Android'te iki. M-VC.

V ve C iç içe girmiş. İlk başta "Ben mi yanlış yolda yürüyüorum?" diye düşündüm. Android geliştiricileri (çeşitli forumlarda, yurtdışında) "bu böyle!" deyince, kabullenmek zorunda kaldım.

----
- Data binding e ne gerek var diye bir soru sorsam beni ayıplamazsın sanırım.
Daha pratik / etkili yöntem var o zaman. :)

----

Araya bi' sürü iş girdi.
Qt-Creator'ı hala tam olarak inceleyemedim.

Tekrar çok teşekkür ederim.
2007'den beri291 mesaj
#17
kizanlik dedi: ↑
Bu nokta çok önemli. Kod ne kadar temiz yazılırsa, debug da o kadar kolay oluyor. Visual Studio'nun sunduğu, #region ve #endregion ile kodu bölebilmek çok işime yarıyor. IDEler (Eclipse, NetBeans, IntelliJ v.s.) bu imkanı vermiyor (belli başlı yerlere otomatik olarak koydukları +/- yetersiz).
Qt'yi Visual Studio ile kullanabileceğinizi biliyor muydunuz?
kizanlik Konuyu açan
2012'den beri250 mesaj
#18
Qt'yi Visual Studio ile kullanabileceğinizi biliyor muydunuz?
Hayır. :)

Kullanılabileceğini düşünmemiştim. Az önce aradım ve şu bağlantıyı buldum.

Teşekkürler totleben
2009'den beri1.405 mesaj
#19
Yeri gelmişken Qt 5 alpha da çıktı. Visual Studio ile kullanabilirsin. Hatta Visual Studio projesinden .pro dosyasını eklenti sayesinde oluşturup, biraz modifiye ederek ve lib isimlerini basitçe düzenleyerek linux altında eclipse projesine bile geçirebilirsin. Tabi proje çok büyük olmamalı.

Bu arada eclipse c++ ta giriş seviyesi için iyi ancak büyük projelerde indexer öldürüyor, dikkatli olun ;)

http://labs.qt.nokia.com/2012/04/03/qt-5-alpha/
kizanlik Konuyu açan
2012'den beri250 mesaj
#20
raxetul

Çok teşekkür ederim.

Bugün biraz inceleme fırsatı bulabildim ama yorum yapabilecek kadar değil.

İlk etapta arkadaşıma verdiğim "biraz ayrıntılı Android uygulaması" sözüm var, bunu yerine getirmek istiyorum. kosasker'in söylediğine göre de Android ile uyumluluğu da iyiymiş.

Malum. Android uygulamaları çok komplike uygulamalar değil. Hem IDEyle (Qt Creator) hem de syntax ile tanışmak adına uygun bi' proje.

VS 2010 eklentisini kurmak istedim. Kütüphane lazım dedi. İndirdim, configure çalıştır dedi. Çalıştırdım, Pearl yok dedi. İndirip kurdum, sonunda çalıştı. Çalıştı ama tam entegre değil gibi. En azından designer bağımsız. Ya da başka eklenti filan var. Bilemedim.

Neyse. "Qt Creator ile başlamak doğru olacak" hissine kapıldım. Eclipse ile çalıştım (pek ısınamadım, niyeyse monitörümün "çektiği" hissine kapılıyorum, boğuluyorum). VS zaten bildik. QtC ile tanışmanın zararı olmaz. Ayrıca, yenilikler QtC'ye ilk önce gelecektir

--- Mesaj Güncellendi ---

Atladım. ics.com sitesinde bi' Qt uygulaması gördüm. Onu gördükten sonra Qt ile "gerçekten yapılamayacak yok" kanısına vardım.

"Arayüzü nasıl yaptılar?" derken YouTube'ta daha ayrıntılı video buldum. Photoshop kullanılmış. 8|

Ooo yeaaa! dediğim andır. XD
2012'den beri400 mesaj
#21
Sırf bu framework yüzünden c++ öğrenmeye başladım bir aydır gece gündüz boş zaman buldukça buna kasıyorum. Bu Qt yi de sencha nın ve 5 aylık kubuntu ile kde4 kasarken gördüm araştırdım ve beğendim artık .net ten biraz kopmanın zamanı geldi diye düşündüm. QT nokiaya geçince lisanslama değişti ve daha da hızlandı proje. Devamı da gelecektir ileride.

Bu arada android ile ndk geliştirmek isteyenler: http://developer.nvidia.com/tegra-android-development-pack bunu kullansın.

c++ ve qt için iki seçenek en güzel hızlı olarak: netbeans ve qtcreator ;)
kizanlik Konuyu açan
2012'den beri250 mesaj
#22
SerdarGokcen

Sanırım Qt Creator ve Qt Framework.

NDK'e bağlanmak korkutuyor. Oyun geliştiriciler de benzer korkulara sahip (amacım oyun geliştirmek değil zaten). Çin'de üretilen Android-ish cihazlardan şikayetçiler. Garip garip ekran kartları kullanmaya başlamışlar (maliyet meselesi). Bu da geliştiricileri zor durumda bırakmaya başlamış.

Her birinin kütüphaneleri farklı. NVidia'nın sahip olduğu fonksiyonlar yok / isimleri farklı. E bu da her biri için ayrı ayrı compile işlemi demek. Ayrı ayrı sürüm demek. Ayrı ayrı revizyon bla bla bla... Google'ın "sertifika" uygulamasına başlaması kaçınılmaz oldu gibi görünüyor. O zaman da açık kaynak kod geliştiricilerinin kazan kaldırması gündeme gelebilir.

Bilemedim.
2012'den beri400 mesaj
#23
Tegrayı programlamak istersen onu belirtiyorsun ve işini hızlandırıyor. Onun dışında ndk ya çok güzel destek veriyor. Gerekli herşeyi otomatik kuruyor. Onu ekle bunu plugin göster derdin yok.
2011'den beri597 mesaj
#24
hortlat();

şaka bir yana nokia programcılığına başlamak istiyorum, qt ile yakından ilgileniyorum.

türkçe kaynak (kitap tercihen) önerebilecek var mı acaba ?

ps: başka yabancı dile eğilimimden dolayı ingilizce okumak istemiyorum.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.