Italian [risolto] B4J - Progettare un sistema modulare tipo plug-ins

ivanomonti

Expert
Licensed User
Longtime User
@giannimaione, vero sulla velocità ma ciò che conta e il contenuto di un software, molte persone cercano software capace di fare tutto, cosa impossibile, ma con moduli seperati tutto e possibile, il bello di jar che sta in una chiavetta senza doverlo installare. questo mio e solo una demo per me ma che poi voglio fare per utente finale, tutto questo tempo lo usato per studiare il codice e dove andare a parare. la gente richiede semplicità e non la velocità, richiede solidità e non solo velocità, richiede assistenza e non solo velocità e molto spesso quando vedono un modulo o un software che fa quello che loro desiderano sono felici che la velocità non la vedono nemmeno.

Ora molti dicono fallo web, io dico no, il web e pieno di software e il lavoro per fare una cosa del genere e troppo elevato, cambiamanti di regole continee che fa diventare tutto difficile nel tempo.

Fare un sofware che dal tuo pc possa darti sostegno in ogni campo perchè basta un modulo condiviso trovato o creato had doc ti rende felice, e credimi, quando parlo di chiavetta che gira su mac, linux e windows con un archivio interno che può gestire gb di materiale a tutti brillano gli occhi, ovvio che poi mi chiedono del telefonino, si crea app (lavoro=denaro) e via discorrendo... guarda il mondo di word press, wondeshare (video), photoshop e mille altri... lavorano cosi, una base e tanti plugins di terze parti e il prodotto cresce...

@LucaMs il concetto e quello, una banca dati (contatti) e li fare girare il mondo, tutto integrato dove moduli possono creare tabelle per la loro gestione e funzionalità, si sono jar separati ma che lavorano solo con il master padre, calendari, gestione appuntamenti, gestione magazzino, gestione negozio, gestione menu dei ristoranti o bar o quello che vuoi partendo da una base semplice... per il domestico fai cose semplici da 10€ o da 100€ e per l'aziendale moduli per monitorare zone, flussi di lavoro ecc ec...software più o meno complessi, ma inseme uno spinge l'altro da solo devi spingerti da solo.

Se trovoun cliente che domani mi chiede la gestione del bar (esempio) e tu hai fatto un modulo io venderò il prodotto, tu ci guadagni io pure e via discorrendo domani tu trovi uno che vuole un calendario con la mia gestione tu lo vendi io guadagno e tu pure e via discorrendo (lavoro di gruppo) come fa filemaker con i plugins, adobe ecc ecc.

e dei due secondi credetemi che ci se ne accorge e solo un perdi tempo che non guarda la funzionalità, molte aziende parlano di velocità ed in ufficio hanno pentium 3 o icore 3 perchè voglio spendere poco, cosa che abbiammo gia discusso altrove.

Io ho buttato l'idea, insieme possiamo farlo.
 

LucaMs

Expert
Licensed User
Longtime User
si sono jar separati ma che lavorano solo con il master padre, calendari, gestione appuntamenti, gestione magazzino, gestione negozio, gestione menu dei ristoranti o bar o quello che vuoi partendo da una base semplice... per il domestico fai cose semplici da 10€ o da 100€ e per l'aziendale moduli per monitorare zone, flussi di lavoro ecc ec...software più o meno complessi, ma inseme uno spinge l'altro da solo devi spingerti da solo.
Stai già pensando ai prezzi ma il punto è un altro. Non è che non sia chiaro cosa intendi per "moduli", non è una novita; ma questi moduli devono poter interagire col programma principale - quello che chiami il "master padre"; questo non deve e non può essere solo un menu che lanci programmi totalmente separati, a sé stanti.

Comunque, questo sarebbe il problema tecnico. Ne esiste un altro, piccolissimo: esistono da una vita programmi del genere, detti gestionali, molto famosi (e costosi, ok) ma anche a prezzi "ridicoli".

Per dirne uno molto noto, "sul" quale lavoravo due vite fa, le ACG IBM - Applicazioni Contabili Gestionali. Oppure il suo diretto concorrente SAP.
Pensi di poter far concorrenza a roba del genere (e ripeto che ce ne sono già da secoli miriadi meno famosi e meno costosi)?

Potrebbe anche intervenire un nostro amico, se non si è schiantato contro un albero in moto 😄, che sviluppava moduli non me ricordo per quale sw dello stesso genere, tale:
1588380845193.png


e dirti come gli siano andati gli affari.
 

LucaMs

Expert
Licensed User
Longtime User
Per dirne uno molto noto, "sul" quale lavoravo due vite fa, le ACG IBM - Applicazioni Contabili Gestionali
1588381593084.png


Se stessi bene e, soprattutto, me ricordassi qualcosa, dopo tanti anni (e chissà quante cose saranno cambiate!)...!
:(

Cmq, i tempi sono cambiati; oggi un programmatore che pure debba occuparsi di sw veramente serio, lo trattano e pagano quanto un... beh, non voglio offendere alcuna categoria, ma ci siamo capiti.
 

ivanomonti

Expert
Licensed User
Longtime User
sai qual'è il vero male di certi progetti,,, guardare gli altri stando fermi, ci sono realtà a milano che sono partite dal nulla costruendo siti con wordpress oggi vantano lavoro, ci sono aziende che hanno costruito software perchè ci credevano con intefacie assurde anni 80 e lavorano da DIO, hanno fatto impresa, hanno creduto, hanno parlato poco e fatto tanto, hanno trovato sponsor da oltre un milione di euro che ogni hanno investe su di loro,,, insomma ciò che voglio dire io e molto semplice,,, a me se piace una cosa la compro senza pensarci, se ogni volta che compro una cosa e penso che ci sono cose migliori o altro non faccio nulla... ecco quello che succede nella maggior parte dell'Italia

1) faccio tutto io perché sono il migliore (fallisce)
2) non faccio nulla perché esistono altri (fallito)
3) ci provo lo stesso (imprenditore)

Il gruppo è fondamentale altrimenti sei il punto uno, crederci idem per andare avantialtrimenti punto due, se facciamo squadra diventa più possibile (imprenditore) esattaente come nel calcio, formula uno, motogp, basket...

i punti 1,2,3 non sono riferiti a nessuno ma solo punti di osservazione generale.
 

udg

Expert
Licensed User
Longtime User
Secondo me l'idea di Ivano è valida e non è scritto da nessuna parte che il master sia un semplice menu. Nella sua visione, se interpreto bene, potrebbe essere il modulo base (principale) di un applicativo, cui aggiungere funzionalità a richiesta. Espande il concetto dicendo che i plugin potrebbero essere prodotti da terzi, contribuendo alla completezza del master.
E' anche vero che parlare di plugin è fuorviante. Il sw "secondario" non eredita dal padre (chiamante) il suo ambiente di lavoro (qualcosa tipo la sessione nelle webapp), la fotografia di ciò che è in memoria in quel momento, i file aperti etc.
Se però parliamo di sw che collaborano tra loro, svolgendo funzioni particolari e condividendo dati, allora siamo in pieno spirito Unix (ok lì si usa il pipe), ma qui ci interessa il concetto di collaborazione tra sw distinti che concordano su alcuni punti di contatto.
Quello che non mi convince è il passaggio di parametri.
La mia scelta sarebbe stata quella di integrarlo nel DB comune o anche tramite file esterno nel filesystem. In questo modo, oltre alla comuicazone bidirezionale padre-figlio, si avrebbe anche il vantaggio di poter disporre dell'equivalente dell'ambiente del padre (es. se l'utente ha effettuato login nel sw padre, questa dato è già noto al figlio che quindi non ha la necessità di gestire tale fase).
 

ivanomonti

Expert
Licensed User
Longtime User
@udg in effetti è così, prendo spunto su wordpress, un solo database centrale dove e possibile interagire costruendo tabelle nuove all'avvio del modulo, la recola è passare due parametri del login username e key in modo che questi dati facciano creare record con gli stessi riferimenti.

Il mio giocattolo fa questo, un db unico condiviso, al login il padre tiene traccia del codice che ha fatto il login e che passo al software figlio per continuare a fare altre attività di quel modulo, raccolgo i dati dei record padre che sono relazionati a quel id.. in questo modo chiudo il padre che ha il suo obiettivoCioè creare schede utenti e calendario... poco codice e facile da gestire in fase di correzione, il modulo successivo sarà un software per gestire grafici e altro prelevando i dati sempre dallo stesso db, ne ho un altro in mente che usera tali dati padre ma si crea una tabella internamente per svolgere delle attività creando record solo perquel modulo e via discorrendo
 

ivanomonti

Expert
Licensed User
Longtime User
@udg il master e solo un modo per prendere clienti, lo regali (fai venire fame) ma il cliente ha bisogno di altro e ti chiede se è possibile,,, la risposta è ovvio si crea il modulo che hai bisogno e da li si iniza
 

LucaMs

Expert
Licensed User
Longtime User
Secondo me l'idea di Ivano è valida
Certo, se fosse un'idea originale o con poca concorrenza. Dato che non è così, le aziende, anche le piccole, non si affidano a prodotti del tutto sconosciuti (tranne qualche raro incosciente, che manderà in fallimento la propria azienda e quindi non potrà nemmeno pagare te).

non è scritto da nessuna parte che il master sia un semplice menu. Nella sua visione, se interpreto bene, potrebbe essere il modulo base (principale) di un applicativo, cui aggiungere funzionalità a richiesta.
E' scritto per come lo ha... de-scritto. Se lanci semplicemente un jar esterno, senza che questo comunichi in alcun modo col suo "lanciatore", quest'ultimo non è altro che un menu. Integrare moduli in un progetto principale - che sia un gestionale o meno - è una cosa, lanciare programmi esterni a sé stanti, del tutto scollegati dal sw principale, è... niente.
 

LucaMs

Expert
Licensed User
Longtime User
Espande il concetto dicendo che i plugin potrebbero essere prodotti da terzi, contribuendo alla completezza del master.
Esempio sempliciotto e banale: Paint Net.
Ci sono molti plugin per quel sw, ma non è che ognuno vada ad realizzare i propri effetti grafici nella propria interfaccia grafica, lo fa all'interno di Paint Net, comunicando con questo ed usandone le parti messe a disposizione da questo (non solo grafiche).
 

ivanomonti

Expert
Licensed User
Longtime User
Non stiamo parlando di un paio di scarpe. Un imprenditore, anche un semplice ristoratore, non compra il primo sw "che gli piace", si affida a prodotti seri.

@LucaMs hai toccato il punto,

1) Si affida a prodotti seri = un team, uno solo non fa Team
2) Certo, se fosse un'idea originale o con poca concorrenza = nessuna domanda
3) una cosa, lanciare programmi esterni a sé stanti, del tutto scollegati dal sw principale = il padre e solo un contenitore di pochi dati e semplice e i figli ereditano dal padre credenziali per svolgere la loro attività
4) legato al serio, tu ti senti serio e capace,,, io si e per questo che non mi spavento alle solite risposte,,, un imprenditore investe il tempo dove crede di poter creare business e la prima cosa che guarda è la concorrenza, c'è, ok si parte,,, non lo fà nessuno alla soglia del 2020, forse non lo vuole nessuno.
5) le regole sono semplicità e dinamicità come negli smarfone un semplice telefono che ancora compone numeri con dentro un mondo... il telefono è il padre tutto resto sono plugins che scarichi e utilizzi = milioni di utenti ;-)
 

Star-Dust

Expert
Licensed User
Longtime User
sai qual'è il vero male di certi progetti,,, guardare gli altri stando fermi, ci sono realtà a milano che sono partite dal nulla costruendo siti con wordpress oggi vantano lavoro, ci sono aziende che hanno costruito software perchè ci credevano con intefacie assurde anni 80 e lavorano da DIO, hanno fatto impresa, hanno creduto, hanno parlato poco e fatto tanto, hanno trovato sponsor da oltre un milione di euro che ogni hanno investe su di loro,,, insomma ciò che voglio dire io e molto semplice,,, a me se piace una cosa la compro senza pensarci, se ogni volta che compro una cosa e penso che ci sono cose migliori o altro non faccio nulla... ecco quello che succede nella maggior parte dell'Italia

1) faccio tutto io perché sono il migliore (fallisce)
2) non faccio nulla perché esistono altri (fallito)
3) ci provo lo stesso (imprenditore)

Il gruppo è fondamentale altrimenti sei il punto uno, crederci idem per andare avantialtrimenti punto due, se facciamo squadra diventa più possibile (imprenditore) esattaente come nel calcio, formula uno, motogp, basket...

i punti 1,2,3 non sono riferiti a nessuno ma solo punti di osservazione generale.
Sono d'accordo molti hanno iniziato in maniera "incosciente" con emerite porcate ma erano le porcate giuste al momento giusto. Questo non è prevedibile.

Su una cosa non concordo. Oggi funziona solo la 1)
1) Sono il migliore e mi vanto di esserlo.

Qui torniamo sull'avere un buon agente di commercio che vende il ghiaccio agli eschimesi. Quello che qualcuno (non io) definisce il parassita che campa con il lavoro degli altri.
Un buon venditore dice proprio "meglio del mio prodotto non ce n'è" gli altri sembrano migliori ma hanno mille difetti. Noi abbiamo la migliore assistenza. ecc....

Poi magari quando fai soldi aggiungi Team qualificati che fanno comunque sempre i soliti errori. Ho avuto rapporti con molte aziende italiane grosse. MA tutti hanno problemi di assistenza, flessibilità del prodotto ecc.... Cose che nel piccolo sviluppatore, hai lo stesso, ma meno gravi.
 

Star-Dust

Expert
Licensed User
Longtime User
Secondo me l'idea di Ivano è valida
Mi sembra che tutti la considerano valida, oltre che probabilmente l'unica.
Sulla questione del professionale.... Aprirei un capitolo. Ma riassumo...se puoi avere una soluzione pulita e professionale ti puoi vantare di averla trovata, ma in assenza di tutto ciò accontentati del metodo artigianale (arrangiato e sporco) purchè funzioni
 

LucaMs

Expert
Licensed User
Longtime User
il telefono è il padre tutto resto sono plugins che scarichi e utilizzi = milioni di utenti ;-)
Bene, prendiamo questo esempio: le app che girano sugli smartphone e proviamo a considerarli dei plugin del S.O. Android; non ti pare che un programmatore di app debba conoscere parecchio Android ed usarne le sue API? (anche se noi, grazie a B4A, nella maggior parte dei casi lo facciamo senza accorgercene!).
Ci sarà un continuo scambio di dati, tra il sistema (quello che sarebbe il tuo Master) e le app (quelli che sarebbero i tuoi "moduli"/"plugin").

Questo dal punto di vista "tecnico". Se poi pensiamo al lato commerciale... meglio andare a pescare.
 

ivanomonti

Expert
Licensed User
Longtime User
@Startup BTS dipendenti di azienda fallita con milioni di euro TC Sistemi si sono riuniti oggi vantano un mercato mondiale,,, tecnici, amministratori, ecc ecc ci hanno creduto e sono un numero (ho lavorato con loro 5 anni) la loro forza e stata crederci nel loro operato tutti insieme... hanno creato sedi nel mondo , lavorano con università, concorrenti di sony colosso mondiale, non si sono mai svenduti, hanno provato a farli chiudere, ma loro idea era semplice e geniale oltre che rindondante visto la concorrenza.
 

ivanomonti

Expert
Licensed User
Longtime User
@LucaMs va creato un padre che abbia le regole per i figli, un idea semplice senza troppe cagate e le regole ben descritte
 
Top