Newsgroup: it.comp.os.linux.development
Titolo: Un consiglio..

Ciao
Devo sviluppare un piccolo software per la creazione di fumetti. Le 
funzioni del programma sono estremamente limitate, in quanto le vignette 
  verranno create con altri software (in generale con blender).
Quindi mi occorre solo creare un software comodo per creare le tavole ed 
averle tutte insieme, con un sistema di scrittura del copione.. Quindi 
molto semplice.
Per farlo ho però bisogno di una libreria per il rendering 2D per poter 
aggiungere effetti, testo, ecc..
Ora il mio problema è questo: la libreria Java2D è perfetta allo scopo, 
ha tutto ciò che mi serve, ma in questo caso cadrei nella trappola Java, 
visto che poi rilascerò il software come GPL..
Altrimenti potrei svilupparlo in C++ (li conosco entrambi allo stesso 
modo i linguaggi) ma in questo caso la libreria che più si avvicina alle 
mie necessità è cairo (manca da quello che ho visto il rendering del 
testo lungo un percorso e non sono sicuro se esistono tutte le 
operazioni booleane tra poligoni).
Dato che il software al momento deve essere sviluppato sia per linux che 
per il macos (e in futuro per windows), vi chiedo un consiglio su quale 
delle due strade prendere, tenendo presente che andando avanti vorrei 
metterci anche altre funzioni di disegno per renderlo più completo ed 
evitare di dover utilizzare software esterni per il disegno dei fumetti.
Colgo l'occasione per chiedervi dove posso trovare l'algoritmo che 
sodipodi (e inkscape) usano per simulare la calligrafia.. i grafici che 
lavorano con me con quella funzione attivata disegnano con la tavoletta 
grafica in un attimo e dovrei inserirla nel programma.. ovviamente poi 
andrò a vedere i sorgenti di sodipodi, ma ero interessato anche alla teoria
Grazie e scusate la lunghezza
FF

visto che poi rilascerň il software come GPL..
Che intendi dire ?

 Che intendi dire ?
Questo:
http://www.gnu.org/philosophy/java-trap.it.html
Voglio dire con java fare prima, ma poi il mio software rimane legato 
alle distribuzioni con java installato... sarebbe anche comodo per la 
portabilità, ma per usarlo bisogna installarsi il java... dipendo da 
quello per forza, non credo che l'implementazione GNU del java abbia 
coperto interamente le JAVA2D..

 sodipodi (e inkscape) usano per simulare la calligrafia..
Potresti rivolgerti alle rispettive ml di sviluppatori.
-- 
Under construction

 Devo sviluppare un piccolo software per la creazione di fumetti. Le 
Non so se puņ essere d'aiuto con quello che hai chiesto. Perņ visto che
parli di blender e fumetti eri a conoscenza di questo software?
http://inkulator.sourceforge.net/
 (non lasciarti ingannare dal nome)
E' scritto in c++ e usa Opengl.
ciao

 coperto interamente le JAVA2D..
1) personalmente ritengo quel documento una manica di minchiate buone
solo per un integralista (da leggere: nel mondo esterno io scelgo solo
in base alle mie esigenze ed alle mie possibilita', poco mi importa se
queste scelte mi portano a dover scende a dei compromessi);
2) quel documento e' vecchio (2004) e rioporta una situazione ben
differente da quella attuale (Sun e' ad un passo dal rilasciare Java
completamente sotto GPL e il GCJ e' oramai una realta' in molti ambiti);
3) quel documento, implicitamente, _denigra_ un'intera classe di
software liberi in circolazione ("Per esempio un programma che funziona
solo su Microsoft Windows è chiaramente inutile nel Mondo Libero.");
4) a differenza di quanto si voglia far credere, esiste un consorzio
capeggiato da Sun dedito allo sviluppo della piattaforma Java;
5) considerando la vastita' della libreria standard di Java, cosa vuol
dire questo pezzo:
"""
Se sviluppate un programma Java sulla piattaforma Java di Sun, potreste
finire per usare caratteristiche esclusive di Sun senza nemmeno
accorgervene, e prima di scoprirlo potreste averle usate per mesi, al
punto che sarebbero necessari mesi per rifare il lavoro. Potreste
concludere che è troppo tardi per ricominciare, e a quel punto il
vostro programma sarà caduto nella trappola Java: sarà inutilizzabile
nel Mondo Libero.
"""
?
6) della libreria standard di Java vi sono anche i sorgenti, tutte le
altre librerie sono da considerare come librerie aggiuntive, ognuna con
la propria licenza;
7) quel documento riporta notizie false e tendenziose. Prima di Linux
c'era *BSD (anche se erano bloccati dalla causa intentata da AT&T).
In definitiva, scrivi la tua applicazione tenendo conto delle tue
esigenze, dei tuoi vincoli, delle tue conoscenze e dell'adattabilita'
degli strumenti in tuo possesso nel contesto lavorativo. Tutto il resto
sono dei compromessi a cui devi scendere necessariamente, e anche in
questi puoi trovare delle scelte che piu' o meno si aggradano a come ti
vuoi comportare. Tutto il resto e' fuffa (io rilascio il codice e
l'applicativo, mica tutta la piattaforma su cui deve girare)
Enrico
P.S. ah, tanto per ribadire, scegli la licenza tenendo conto sia dei
pro che dei contro di _tutte_ le licenze in circolazione (se non altro,
delle maggiori), e poi scegli quella che piu' si addice alla tua
applicazione. Scegliere a capofitto, e' un errore che potresti pagare
nel medio-lungo termine

 l'applicativo, mica tutta la piattaforma su cui deve girare)
A volte puo` convenire pensare anche al piattaforma sotto.  Piu` 
fastidioso e` installarlo, meno gente usera` il tuo programma.
-- 
David N. Welton
- 
http://www.dedasys.com/davidw/
Linux, Open Source Consulting
- 
http://www.dedasys.com/

 ciao
ciao

 
Infatti, č questo il punto.. neanche io sono molto d'accordo con quel 
documento, ma piů che per la filosofia open, le mie preoccupazioni vanno 
proprio in direzione di una dipendenza forte... se da un un lato c'č il 
vantaggio che con la JVM puoi usare il software senza ricompilazioni su 
qualunque macchina, dall'altro c'č l'inconveniente che te la devi 
installare la JVM. Se il software poi va e il java dovesse cambiare (non 
so perchč dovrebbe farlo perň) direzione, allora dovrei abbandonare 
tutto o riscrivere tutto..

 nel medio-lungo termine
anche su questo qualche consiglio è ben accetto :-) Per ora ho 
rilasciato solo una libreria in javascript con licenza LGPL, non mi sono 
mai preoccupato di scegliere licenze, visto che non ho distribuito altri 
software.. Io pensavo alla GPL.. Ma la tua osservazione è riferita al 
fatto che se un giorno volessi fare una versione espansa commerciale del 
programma non potrei farlo?

 tutto o riscrivere tutto..
Ehm, le uniche modifiche fatte in Java dalla sua nascita sono state fatte
tenendo bene in mente la backward compatibility (e non come in .NET 1.1 vs
.NET 2.0). Un esempio lampante di questo lo trovi nella classe
java.util.Date
Enrico
P.S. in tutto questo, pero', non stai considerano un fattore molto
importante: le richieste dell'utente

 importante: le richieste dell'utente
In realtà non ci sono :-) Questo software nasce come un nostro software 
interno per la progettazione e l'impaginazione dei fumetti (anche se poi 
probabilmente lo useremo per semplici animazioni tipo emoticons), quindi 
gli utenti sono i grafici che lavorano con me, e non hanno richieste se 
non quelle relative all'interfaccia e alle funzionalità che il Java2D ha 
già tutte... In effetti sono sempre più convinto di farlo in Java, ci 
metto la metà del tempo, se poi viene bene lo pubblichiamo pure...

wxwindows ...
FF ha scritto:


 blender, magari con qualche plugin, ci penserò un pò..
Ho riletto questo messaggio solo ora, e mi e` venuto in mente una cosa: per
lo sviluppo del tuo applicativo potresti pensare anche ad usare Python, in
quanto potresti integrarlo direttamente in Blender (se poi ti serve un
ponte con Java, c'e` Jython, che non e` altro che un ponte tra i due
ambienti di sviluppo)
Enrico

 ambienti di sviluppo)
Ci stavo pensando, ma qui mi continuano a cambiare le specifiche i 
grafici.. quando si metteranno d'accordo vedremo quello che di cui 
abbiamo veramente bisogno.. Ora pare che il software dovrà poter 
caricare disegni vettoriali da illustrator...  Che libreria si può usare 
per importare gli AI? perchè abbiamo provato e inkscape non li importa 
correttamente..
FF