Arayüz tasarımı tavsiye

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

Burak B

"... a healthy dose of paranoia leads to better systems." Jack Ganssle

ErsinErce

NecroCapo hocam mono-project ile mono-develop arasındaki fark nedir kısaca anlatabilir misiniz?
C++Builder 64 bit desteği vermeyince biraz farklı çözümler aramaya başladım (gerbay hocam kızmayın)
C++ üzerinden 64 bit desteği de veren bir compiler aradığımda hep multi platform olarak karşıma çıktı
Mono dikkatimi çok çekti ama project ile develop arasındaki farkı avantaj-dezavantajlarını pek anlayamadım

aklımda şuan gcc vb bir compiler ile C++ üzerinden dll ve VS yada mono ile C# üzerinden arayüz ihtiyaçlarını karşılamak var
hepsine hakim olmak zaman alacaktır ama ileriyi düşünürsek en mantıklı şu an buymuş gibi geliyor

NecroCapo

Alıntı yapılan: ErsinErce - 28 Aralık 2011, 06:39:23
NecroCapo hocam mono-project ile mono-develop arasındaki fark nedir kısaca anlatabilir misiniz?
C++Builder 64 bit desteği vermeyince biraz farklı çözümler aramaya başladım (gerbay hocam kızmayın)
C++ üzerinden 64 bit desteği de veren bir compiler aradığımda hep multi platform olarak karşıma çıktı
Mono dikkatimi çok çekti ama project ile develop arasındaki farkı avantaj-dezavantajlarını pek anlayamadım

aklımda şuan gcc vb bir compiler ile C++ üzerinden dll ve VS yada mono ile C# üzerinden arayüz ihtiyaçlarını karşılamak var
hepsine hakim olmak zaman alacaktır ama ileriyi düşünürsek en mantıklı şu an buymuş gibi geliyor

Aslında ikisi de aynı şeyler, şöyle ki :

Mono-Project aşağıdakilerin tümüne birden verilen isim.

  • Mono: Asıl compiler bu. Linux'taki gcc gibi düşünebilirsiniz. Şu dillerde yazılmış kodları derliyebiliyor : (C#, VB.Net, C++, F#, Java, Python, PHP, Vala,  Object Pascal, Lua, Cobra, ADA, Scala, Boo, Nemerle, JavaScript, Oberon)

    Tüm platformlar için ( Linux, Microsoft Windows, Mac OS X, BSD, Sun Solaris, Nintendo Wii, Sony PlayStation 3, Apple iPhone,x86, x64,  IA64, PowerPC, SPARC (32), ARM, Alpha, s390, s390x) kodunuzu derlemenizi ve çalıştırmanızı sağlar. Yani Windows'ta herhangi bir Visual Studio projenizi kolaylıkla Mono'ya çevirebilirsiniz. Microsoft'un .Net Framework'ünün (1.0, 2.0, 3.0, 4.0) classları ile tamamen uyumlu. Atıyorum C#'daki "System.Threading.Thread.Sleep (1000); " kodunu tüm bu platformlarda kullanabilirsiniz. JIT,CLI aynen var. Mono'nun kendi başına herhangi bir GUI'si yok. Command Line'dan parametreleri girerek derlemeyi yapıyorsunuz (gcc gibi). Bu yüzden Mono ile beraber MonoDevelop kullanmak daha kullanıcı dostu oluyor.

  • MonoDevelop : Mono'nun kod yazmanızı sağlayan, kodları otomatik tamamlayan, arayüz tasarımı yapmanızı sağlayan(*) IDE projesi (Visual Studio ortamı gibi düşünebilirsiniz). IDE üzerinde compile tuşuna basınca bir üst maddedeki mono ile derlemeyi otomatik olarak yapar.
  • MoonLight: Microsoft'un Silverlight ürününün, mono'sal karşılığıdır. Silverlight uygulaması geliştirebilir veya browserınızda silverlight uygulaması çalıştırabilirsiniz.
  • MonoTouch : Mono'nun Apple ürünleri için (Ipad, IPhone) uygulama geliştirmenizi sağlayan kısmı (ücretli)
  • Mono for Android : Mono'nun Android platformu için uygulama geliştirmenizi sağlayan kısmı (ücretli)
  • MoMA (Mono Migration Analyzer): Windowsta yazmış olduğunuz herhangi bir MS .Net uygulamanızı, Mono'ya çevirmenizi sağlar.

(*) Şu an, mouse ile butonu form üzerine koy-bırak tarzındaki arayüz tasarımı için Gtk kullanılıyor. Sonraki sürümlerde Windows.Forms da olacak, geliştirme süreci devam ediyor. Ama tabii ki  kodla tasarım yapmak için(dinamik olarak) Gtk kullanmadan Windows.Forms kullanabiliyorsunuz.

Sonuç olarak 
Microsoft Visual Studio ortamına ve dillerine (C#, VB.Net vb.) alışıksanız,
Uygulamanızı linux,mac vb ortamlarda multi-platform kullanmak istiyorsanız,
Ticari uygulama yapmak, fakat MS'daki Bill Amca'ya para yedirmek istemiyorsanız,
Açık kaynak kod felsefesini desteklemek isterseniz,
GNU ve Linux kelimeleri size çok şey ifade ediyorsa.
Mono'yu tavsiye ederim :)