Newsgroup: it.comp.programmare
Titolo: sviluppare applicazioni windows

Buongiorno,
Io mi dilettavo un po' col c++, costruendo semplici applicazioni in dos.
Per creare applicazioni windows (o linux?), grafiche insomma, in modo 
che ci siano finestre, pulsanti ecc. come con il Visual Basic cosa devo 
fare?
Scusate la banalità della domanda, ho cercato molto su google ma è 
piuttosto ampio l'argomento, si parla di dev-cpp, qt, di gtk e dato che 
devo appena incominciare vorrei un consiglio appunto su come cominciare.
Ho provato wx-devcpp che non è male anche se è più complicato rispetto a 
un normale visual basic, faccio bene a continuare con questo?
Grazie,
Saluti

Jai ha scritto:

Esistono molti linguaggi, librerie ed ambienti per linux, comunque 
riassumento il più possibile...
Il compilatore C/C++ è l'ottimo gnu, se non è fornito di serie puoi 
installarlo con gli strumenti della tua distribuzione o dai sorgenti, 
come libreri grafiche intese come pulsanti e bottoni abbiamo:
fltk, minimali utilizzando delle procedure di callback per gli eventi, 
hanno solo i controlli basilari un pò come awt ma con diversi controlli 
in più, prima fra tutti un wrapper per opengl e un componente che 
consente il syntax h. in stile nedit, è multiattaforma, ed è pensata per 
essere piccola e linkata staticamente è intorno a 200-300k
wxwidget ex wxwindows è una libreria in stile mfc, di fatti utilizza una 
  serie di macro per costruire una event table e gestire gli eventi, è 
una librerie multipiattaforma e omnicomprensiva, ad esempio definesce 
una classe per le stringhe, una per la rete, per i file zip, etc... ha 
un wrapper per opengl e come caratteristica si può definire una meta 
framework modulare in quanto il sistema è diviso a moduli e utilizza le 
librerie del sistema guest per creare applicazioni native, ad esempio su 
windows utilizza mfc, su linux gtk oppure universal ossia dei widgets 
costruiti direttamente su x11 su mac può utilizzare sia carbon che cocoa.
fox toolkit uitlizza un event table simile a mfc e wxwidgets, ha i 
propri widgets e mi fermo qua perchè non mi piace come resa grafica, 
stona con tutti i sistemi a parte windows 98
gtk è la libreria utilizzata per gnome, nasce con gimp, un famoso 
programma di grafica opensource simile a photoshop; nasce come libreria 
c ma ha dei binding anche in C++, anche la versione c può essere 
utilizzate per uno stile di programmazione object oriented like, poichè 
tramite macro mima questo stile di programmazione (utilizzando comunque 
strutture perchè gli oggetti in c non esistono), anche queste ha un 
widget per opengl, il toolkit è multipiattaforma su windows e linux, 
mentre su mac è in corso il porting nativo, ma puoi comunque utilizzarle 
col server x11 fornito di serie con osx.
le qt sono state recentemente acquistate dal colosso nokia, se non è 
cambiato recentemente le puoi utilizzare tranquillamente per progetti 
open mentre per progetti commerciali richiedono l'aquisto di una 
licenza, come caratteristica principale ha un sistema di gestione degli 
eventi (ma non solo) basato su un modello denominca signal e slot, in 
pratica utilizza i segnale per connettersi agli slot, quando un 
determinato evento accade il segnale corrispondente lo notifica a tutti 
gli slot a cui è stato attaccato, per realizzare questo qt utilizza un 
pre processore e un insieme di marco, il pre processore si chiama moc e 
crea dei file c++ standard poi si passa al processore quindi al linking, 
è molto completa di fatti ha classi per la gestione delle stringhe, del 
network, dei thread ma anche delle classi contenitori simili per certi 
versi alle stl ma con la particolarità di essere copy on write quindi 
pensate per ottimizzare la memoria, la libreria è multipiattaforma *nix, 
mac, windows e anche alcuni dispositi come cellulari o pda che 
utilizzano il sistema qtopia.
Come ide C++ degni di nota ci sono eclipse+plugin, netbeans, kdevelop e 
anjuta.
Per passare ad altri linguaggi hai java con il suo framework quindi 
classi per la grafica, thread etc, multipiattaforma look&feel nativo 
(emulato) oppure nativo reale tramite librerie swt (esterne alla 
distribuzione java standard e nate con eclipse) come ide i già citati 
netbeans e eclipse. (e oracle jdevelop)
Abbiamo poi i basic like come RealBasic (commerciale e multipiattaforma 
la versione base per linux è gratuita), Gambas (libero ma non 
multipiattaforma) e il basic di mono.
Mono infine è un sistema che mira ha ricreate .net su linux, puoi 
utilizzare c#, boo e monobas, come gui nativa hai gtk, altrimenti anche 
il port di windows forms è a buon punto.
Quasi tutti i linguaggi di script su linux hanno almeno un binding ad 
una libreria grafica ad esempio per gtk hai: ruby, php e python (credo 
anche altri), per wxwidgets il binding di python è ottimo, ma anche le 
qt possono essere usate sia da ruby che dal pitone.
Recentemente sta facendo capolino sulla scena anche apollo di adobe che 
consente di utilizzare flex e compagnia per creare applicazioni native, 
hai quindi un linguaggio Actionscript (simile a javascript), xml per le 
interfacce grafica e binding a sqlite.
Sqlite è un ottimo db engine embedded utilizzabile praticamente da 
qualsiasi linguaggio di programmazione ormai... (anche il db di 
realbasic è un sqlite)
Come ultimo ti metto anche il freepascal che con l'ide lazarus mira a 
ricreare un ambiente delphi like (e ci riesce anche abbastanza bene)
Ultimamente anche il freebasic sta guadagnando consensi.
Ricapitolando se provieni dal visual basic, il più simile è proprio il 
RealBasic anche se ha una sintassi oop più pura, dopo dai un occhiata 
anche a gambas e python + wxwidgets.

alcuni compilatori .net sono gratuiti, e poi ci sono degli ide che ti
permettono di scriverti facilmente i programmi.
-- 
Spolvera la mia email per rispondermi
"Storia del Mondo. I vulcani eruttarono. Gli oceani ribollirono.
L'universo era in tumulto. Poi venne il cane."
Snoopy
maxy04.splinder.com
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it