Arayüz tasarımı tavsiye

Başlatan electronious, 25 Aralık 2011, 13:42:11

electronious

Merhaba arkadaşlar,

Arayüz tasarımını öğrenmek istiyorum. C biliyorum ve biraz C++ bilgim var. Özellikle Microsoft VS 2010 ile çalışmak istiyorum. Bununla ilgili kaynak site-kitap vb. tavsiyelerinizi esirgemezseniz sevinirim.

İyi çalışmlar herkese

cicjoe



Tagli

Benim tavsiyem, Microsoft'a bağımlı olmamak için, çok kullanılan Qt, wxWidgets veya GTK+ gibi bir kütüphane kullanımını öğrenmen. Bunlardan GTK+'yı C ile de kullanabilirsin.
Gökçe Tağlıoğlu

RcALTIN

Alıntı yapılan: electronious - 25 Aralık 2011, 13:42:11
Merhaba arkadaşlar,

Arayüz tasarımını öğrenmek istiyorum. C biliyorum ve biraz C++ bilgim var. Özellikle Microsoft VS 2010 ile çalışmak istiyorum. Bununla ilgili kaynak site-kitap vb. tavsiyelerinizi esirgemezseniz sevinirim.

İyi çalışmlar herkese

Özellikle Microsoft VS 2010 ile çalışmak istiyor olduğuna göre, C++ bilgin olduğuna göre cevap zaten belli... Ben c++ dan fazla anlamam ama yanlış bilmiyorsam visual studio ile ister win32, ister .net tabanlı çalışılabiliniyor, c++'ın böyle bir güzelliği var. c# için win32yi unutun, fakat .net tabalı çalışacağım derseniz C bilginizden dolayı sizin için bu da bir seçenek...
KİMSEYİ ENGELLEDİĞİM YOK, ÖZEL İLETİ DEVRE DIŞI !

Sepiroth

Qt nokia tarafindan gelistiriliyor, fakat linuxta da windowsda da calisabiliyor.
.NET sadece windowsda calisiyor, arkadasin bagimliliktan kasti buydu bence:)
Ona bakarsaniz Java her turlu ortamda calisiyor, ama Sun gelistiriyor?
Bagimsizlik olayi platform bagimsizligi olmali, bunun da en iyi ornegi Java ve Qt.
Either you feel it, or not...

FullMetal

Alıntı yapılan: gerbay - 25 Aralık 2011, 16:35:50
Microsoft a bağımlı olmamak için denmiş de;  Qt kullanınca kime bağımlı olacak? Nokia ya mı? Evet.. Peki Nokia mı yoksa microsoft mu?

Hocam windows ortamı için GUI li programlar geliştireceksen kur "C++Builder" ı keyfine bak.. En azından diğerleri gibi kanser etmez..
Beni yanlış anlamayın bilmediğimden soruyorum, Qt de herhangi bir ücret ödemeden ticari projeler geliştirmek ve platform bağımsız (Embedded Linux, Mac OS X, Microsoft Windows, Linux/X11, Windows CE, Symbian, MeeGo, Haiku, Amiga OS) proje geliştirmek mümkün (Eğer yanlışım varsa düzeltin lütfen). Bana göre Qt un en büyük avantajları bunlar. C++Builder da Qt e karşılık ne tür cezbedici özellikler var?

Teşekkürler.

Sepiroth

#7
Alıntı yapılan: gerbay - 25 Aralık 2011, 19:24:16
Qt de kullandım GTK da kullandım. Eğer ille de platform bağımsız olsun denmiyorsa C++Builder diyorum..

Qt ile ticari ürün geliştiriyorsanız Qt Commercial ürünü almanız ve parasını da ödemeniz gerekiyor.. Eğer Open Source proje yapıyorsanız bedavaya alıp kullanabilirsiniz..

Java dan bir nane olmaz, hele bu tip işler ile uğraşıyorsanız Java dan uzak durun. Java tarzı birşey istiyorsanız C# kullanın.. (şimdi kesin java cılar saldırır ama neyse)

Cross platform ile GUI li ne işiniz var bilmiyorum ama ihtiyacınız Windows üzerinde ise ısrarla C++Builder diyorum..

Hocam saldirmak gibi değil kesinlikle ama Java da bence gayet guzel bir dil:) ama tabikide supersonik değil :D
windows uzerinde olcaksa illa tabiki de C#, en azindan rahat olur. Ama ben mesela Java'ya daha yatkinim, hos ikisi ile de yazabiliyorum orasi ayri.
merak ettim gercekten, Java nin ne eksikligini gordunuz bizi de bilgilendirirmisiniz hocam? (ogrenelim buglarini:) )

edit: http://www.webdotdev.com/nvd/content/view/1042/204/
hantal ve cok yer kaplar diye biliyordum ama emin degildim, :D
Either you feel it, or not...

Sepiroth

Alıntı yapılan: gerbay - 25 Aralık 2011, 20:01:17
hocam birçok sebep var. Ben bug var anlamında yazmadım zaten. Arkadaş özellikle arayüz tasarlamak istediğini belirtmiş. Arkadaşı Java nın layout ları ile uğraştırıp kanser etmenin gereği var mı. O zaman diyebilirsiniz ki C# kullansın, ihtiyaca göre kullanılabilir ama bizim C# cı arkadaşların bazen sistem ile ilgili yapmak istedikleri işler için onlara DLL yazıyorum. Evet, kolay vs. ama her şeyin kendine göre artıları ve eksileri var. Arkadaş zaten C bildiğini C++ ı da biraz bildiğini yazmış. İstediği her işi hızlı şekide yapabilmesi açısından ben C++Builder dedim.. Her türlü isteği için component ler de var. Sürükle bırak koy çalışsın. Hem de C++ ın gücü ile. Yok eğer ben sabırlıyım, uzun sürmesi önemli değil derseniz Visual C++ ile MFC öğrenin.

Arkadaş ne tür yazılımlar ile uğraşacağını belirtmemiş; ben en hızlı şekilde ve her türlü sistem kaynağına da erişip yönetebilecek, programlayabilecek özelliklerde birşey kullanmasını tavsiye ederim. O da şu an en hızlı şekilde C++Builder ile olur..

Ben hepsini de kullanıyorum ama "özellikle" test araç gereçlerini C++Builder kullanarak gerçekleştiriyorum..

Oturup isterseniz windows driverı yazın, isterseniz her türlü sistem kaynağını "native" olarak kullanın, isterseniz de hızlı şekilde arayğz tasarlayın..

Evet Qt nin GTK nın vxWidgets ın da designerları var ama hiçbirinde C++Builder ın community si yok.. ister ücretli olsun ister ücretsiz olsun o kadar component sağlayısı yok..

Bir elektronikçi iseniz ve yapacağınız yaılımlar da biraz da işiniz ile ilgili olacaksa Java kesinlikle olmaz. C# da bazen olur bazen olmaz.. başka şeylere ihtiyaç duyrasınız.. C bilen arkadaşlarınıza DLL yazdırmak zorunda kalırsınız.. vs.. vs..

Bu arada Sun batmıştı ve Sun ı Oracle satın almıştı zaten.. Şu an Java, Oracle a ait..

yok hocam ben bug derken geyik yapiyodum ztn:) saka bir yana, bizim gibi (en azindan kendi adima konusayim) yuzeysel kullanan degil de, isin derinine kadar inmis ve bu sekilde kullanan bir insan oldugunuzu tahmin ederek ne eksikleri gordunuz onu merak ettim sadece:) yoksa inanilmaz bir sekilde kullanmasam da c++ tabi kide:) ama misal, tasarladigim donanimlara ufak tefek arayuz vs. yaparken java kullaniyorum, elim yatkin ve cogu temel isimi goruyor:) java gui'si evet cidden tirmalattirir adami, ama Android uzerinde program gelistirirken biraz rahat oluyo gerci:)
bu arada hep merak etmisimdir, mikroislemciler icin (misal stm32) c++ derleyici var mi? yani kutur kutur C de yaziyoruz da, c++ ile object oriented tadinda yapamazmiyiz yazilim?
Either you feel it, or not...

electronious

Cevaplar için teşekkürler herkese.

C veya C++ ile opensource bir program yazmayı düşünüyorum. Açıkçası yazacağım program en azından şimdilik windows üzerinde çalışması yeterli. Visual studio ya alışkın olduğum için orda yazmak istiyorum. Qt yi duydum ama hiç bilmediğim için yanaşmak gelmiyor içimden. Elinizde güzel kaynak link vb. varsa paylaşırsanız sevinirim.

cicjoe

#10
QT4 icin bir kitabi upload ettim.
https://rapidshare.com/files/1413278029/C___GUI_Programming_with_QT_4_2nd_Edition.pdf

acikcasi ben C# tercih ediyorum. win32'e erismek veya C'de yazilmis dll'e erismek mumkun. lazim olursa linux icin mono'da yazilabiliyor, .net kadar iyi değil ama oldugu kadar =)

Alıntı yapılan: Sepiroth - 25 Aralık 2011, 20:12:42
bu arada hep merak etmisimdir, mikroislemciler icin (misal stm32) c++ derleyici var mi? yani kutur kutur C de yaziyoruz da, c++ ile object oriented tadinda yapamazmiyiz yazilim?

IAR'da C++ secenegi mevcut. ufak islemciler icin pek tercih edilmiyor (kod boyutu biraz buyuyor class mlass derken), ama stm32 icin soruyorsan icin iyi bir secenek bence. tabi illa oop yazmak zorunda degilsin. ben MSP430 icinde C++ tercih ediyorum. sadece, degiskenleri blogun basinda tanimlama zorunlulugunun kalkmasi bile tercih sebebi benim icin =)

electronious

@cicjoe

İlgilendiğiniz için çok teşekkür ederim.

cicjoe

#12
evet hocam haklisiniz. IAR'in EWARM Compiler Reference dokumaninda bu konu hakkinda bir bolum de var, Effecient Coding for Embedded Applications basliginda. Gerci kendisi de optimize etmek icin birkac secenek sunuyor.

None (Best debug support)
Variables live through their entire scope

Low
Limited live-range for variables

Medium
Live-dead analysis and optimization
Dead code elimination
Redundant label elimination
Redundant branch elimination
Code hoisting
Peephole optimization
Some register content analysis and optimization
Static clustering
Common subexpression elimination

High (Maximum optimization)
Instruction scheduling
Cross jumping
Advanced register content analysis and optimization
Loop unrolling
Function inlining
Code motion
Type-based alias analysis

High secengi 3 farkli yontem sunuyor. Balanced/Size/Speed.

Tabi oop ile yazilim tasarimini guzellestirirken, bir yandan da efektif kod yazip, okunakligi ve tasarimi bozmayacak sekilde boyutunu dusurmeye calismak dogru olabilir. Eger yazilim uzun ve karmasik ise kod boyutunu ve hizini bir kenara birakip yazilim tasarimi uzerinde durmak daha iyi olabilir. Bu durumlarda zaten yuksek bir islemci secilecegi icin kod boyutu ve ram sorun olmaz sanirim. Diger durumlarda ise (yani yazilim uzun ve karmasik değilse) zaten kod boyutu cok olmayacaktir heralde. Ama yine efektif kod yazmak aliskanlik acisindan iyi olacaktir sanki.

Alıntı yapılan: gerbay - 25 Aralık 2011, 23:30:38
hocam kodun yazılmasına bağlı olarak kod boyutu çoğu zaman azaltılabilir

Dediginize katiliyorum.

Sepiroth

c++ ile yazmak icin tabi alt yapi suruculeri/kutuphaneleri yoksa kendimiz yazmak zorundayiz sanirsam:)
Either you feel it, or not...

NecroCapo

Bir çok projemde Mono Develop-Mono'yu kullandım, Hem linux ortamında çalışıp,  hem de C# ile kod yazıyorum. Platformdan bağımsız (Windows,Linux,Mac, hatta Iphone ve Android), açık kaynak ve üstelik ticari uygulamalarınızda da kullanabiliyorsunuz.  Visual Basic,C#,C,C++,Vala hangi dille isterseniz yazın. Ayrıca Gtk# için de arayüz tasarımını, Visual Studio'da olduğu gibi kolayca, GUI üzerinden yapabilirsiniz. http://monodevelop.com/