Italian richiesta informazioni su B4J

sirjo66

Well-Known Member
Licensed User
Longtime User
Ciao a tutti,
chiedo informazioni sul B4J a chi di voi lo utilizza.
Mi piacerebbe iniziare ad usarlo ma vorrei capire i vantaggi e gli svantaggi.
Utilizzo VB6 da parecchi anni e anche il VB.NET da molto, per cui penso che il linguaggio non sia un problem, quello che volevo capire è:

1) la realizzazione di un form (activity) con il designer è facile da fare come in VB.NET oppure ha un sacco di limiti come il B4A ??
2) da quel che ho capito tutto quello che scrivo viene tradotto in Java prima di essere compilato, quindi ho gli stessi limiti di Java ?? Nel senso che posso accedere a oggetti di Windows come ad esempio delle DLL o comincia ad essere complicato ??
3) L'accesso ai database come SQLserver (microsoft), MDB e MySQL è possibile facilmente oppure devo fare i salti mortali ??
4) gestione porte seriali COM ??
5) gestione stampe ??
6) se devo comunicare con siti web su VB.NET ho l'oggetto WebClient, esiste in B4J qualcosa di simile ??

insomma vale la pena di studiare B4J oppure rimango con il mio VB.NET ??

La portabilità verso altri SO non mi è essenziale, lavoro al 99% con Windows

Sergio
 

LucaMs

Expert
Licensed User
Longtime User
Pensi che sia facilissimo ottenere tutto quanto hai scritto usando VB.Net? Non proprio.

Hai dimenticato l'enorme vantaggio che un sw scritto con b4j, una volta compilato, ovviamente, gira tranquillamente su varie piattaforme, non solo su Windows (Linux, Mac...) proprio perché Java.

Quanto hai elencato è realizzabile anche con b4j, tranne quasi certamente le dll.

Per risposte dettagliate alle singole domande, lascio il compito ad altri :)


[Edit: confermato, le dll di Windows non le puoi usare, ma non mi pare una grande limitazione]
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Pensi che sia facilissimo ottenere tutto quanto hai scritto usando VB.Net ?

Per me si.

Sono anni che programmo, ho una mia software house (specializzata nelle automazioni industriali), e sviluppo quasi tutto in VB.NET, lavorando con database, socket, DLL, webservice, webclient, interfacciamento con PLC e schede elettroniche varie, eccetera, quindi direi che non ho problemi :p

Il discorso della DLL è da approfondire perchè la cosa mi interessa, vedrò di cercare sul forum.

Intanto grazie

Sergio

Edit: NO, B4J non può chiamare le DLL, non può chiamare le API di windows e nemmeno i componenti COM
Info su: https://www.b4x.com/android/forum/threads/b4j-can-manage-the-dll-files-cannt-it.36153/#content
 

LucaMs

Expert
Licensed User
Longtime User
Per me si.
e sviluppo quasi tutto in VB.NET, lavorando con database, socket, DLL, webservice, webclient, interfacciamento con PLC e schede elettroniche varie, eccetera, quindi direi che non ho problemi :p
Allora non vedo grandi vantaggi :)

Il principale sarebbe lo stesso linguaggio e quindi un po' di codice che possa girare sia con b4j che con b4a; ma come sai c'è anche molta somiglianza con VB.Net (b4a sembra un mix tra VB6 e VB.Net, ma è chiaro che VB.Net è molto più ampio).
 

Star-Dust

Expert
Licensed User
1) la realizzazione di un form (activity) con il designer è facile da fare come in VB.NET oppure ha un sacco di limiti come il B4A ??
A cosa ti riferisci di preciso? (solo curiosità, adesso uso poco vb6 e VB.NET)
 

LucaMs

Expert
Licensed User
Longtime User
adesso uso poco vb6 e VB.NET
Anch'io e tra la poca memoria ed il fatto che nel frattempo (saranno 4 anni che non tocco VB.Net se non per pochissime righe di codice) il designer di VS potrebbe essere cambiato...

Una lacuna nel Designer di B4A la ricordo bene, perché la feci notare (e ovviamente non servì a niente): non è possibile impostare dei limiti min e max per il ridimensionamento delle View (controlli in VB.Net).

Poi c'è il fatto che con VB.Net, con un doppio click sul controllo, viene creato un evento, quello di default, mentre con B4A usi il menu per creare gli eventi (ma questo è davvero una differenza minima).


P.S. ecco, io parlavo solo di b4a, mentre la domanda è su b4j. Beh, il Designer di b4j è nato successivamente, all'inizio si usa lo SceneBuilder. Molte volte il codice può essere più complicato, dovendo usare i fogli di stile CSS e la libreria JFX: https://www.b4x.com/android/forum/pages/results/?query=JFX&ide=true&product=b4j
 
Last edited:

Star-Dust

Expert
Licensed User
Una lalcuna nel Designer di B4A la ricordo bene, perché la feci notare (e ovviamente non servì a niente): non è possibile impostare dei limiti min e max per il ridimensionamento delle View (controlli in VB.Net).
Parli delle CustomView?
 

LucaMs

Expert
Licensed User
Longtime User
No, delle normali view; anzi, ora che me le hai nominate, è più semplice creare controlli personalizzati con VB.Net.
 

LucaMs

Expert
Licensed User
Longtime User
Questo thread mi ha fatto venire voglia di rimettere le mani su VB.Net (più che altro per rinfrescarmi la scarsa memoria e vedere quali siano state le novità negli ultimi 4 anni)
 

LucaMs

Expert
Licensed User
Longtime User
Una cosa che invece non posso fare con VB.Net mentre con b4j sì è usare i websocket, a meno che io non aggiorni Windows dal 7 al 8 (ma sicuramente voi avrete windows 10 :))
 

Star-Dust

Expert
Licensed User
No. Io uso XP, 7 e 8. Aggiornamenti bloccati
 

sirjo66

Well-Known Member
Licensed User
Longtime User
A cosa ti riferisci di preciso? (solo curiosità, adesso uso poco vb6 e VB.NET)

Sul B4A ho qualche difficoltà con il designer, non ci sono molte view, il font non è scalabile, e i soliti problemi di risouzioni diverse con AutoScaleAll
 

udg

Expert
Licensed User
Longtime User
Ciao a tutti.
Io ho utilizzato B4J sia per imbastire soluzioni lato server sia per applicativi desktop. Se non c'è necessità di multi-piattaforma, concordo con Luca sul fatto che chi normalmente utilizza soluzioni VB possa tranquillamente rimanere su quelle.
Personalmente non avevo molta scelta; l'ultima volta che avevo programmato in Basic era con il QuickBasic 1.0 e quindi il mondo VB mi era del tutto ignoto.

In B4J ho trovato comodo sia la similitudine con B4A che la possibilità di deploy multi-piatatforma. Lato server ho potuto fare a meno di PHP, JS e compagnia bella, mentre lato desktop ho potuto imbastire velocemente delle soluzioni (niente a che vedere con il mondo Pascal da cui provengo).

In merito alle view disponibili, in B4J la situazione è anche peggiore che in B4A. Ti accontenti di ciò che passa il convento oppure ti crei da te gli oggetti che ti servono. Tutta la parte UI si basa su javafx e sul porting parziale a nostra disposizione.
Per i DB, invece, nessun problema.
 

LucaMs

Expert
Licensed User
Longtime User
Personalmente non avevo molta scelta; l'ultima volta che avevo programmato in Basic era con il QuickBasic 1.0 e quindi il mondo VB mi era del tutto ignoto.
Quindi ti era (ovviamente) ignoto anche b4j (e b4a), per cui ti sarebbe convenuto provare VB.Net, perché anche se molto ampio, non è necessario sfruttarne tutte le funzionalità e creare un progetto base per desktop non è certo complicato (anzi).

Per i DB, invece, nessun problema.
Più o meno, perché gli oggetti messi a disposizione da VB.Net, anche grafici, sono una marea anche per questioni DB (DataSet, DataTable, DataGridView, il navigator (di cui non ricordo il nome esatto), il Designer dedicato, LinQ,...

E' chiaro che .Net, in generale, sia enorme e offra più possibilità. B4j è nato per offrire la possibilità di creare progetti multipiattaforma, senza pretese di essere il migliiore strumento sul mercato (tanto è vero che, a differenza di b4a e b4i, è gratuito).
 

Star-Dust

Expert
Licensed User
In effetti pochettino scarno
 

LucaMs

Expert
Licensed User
Longtime User
Si ma se magari una persona si avvicina alla programmazione per la prima volta, per creare un'app e vantarsi con gli amici :p poi può passare a creare applicazioni desktop senza traumi, viste le similitudini.

Certo, chi fa il percorso inverso, normalmente non userà b4j.
 

Star-Dust

Expert
Licensed User
Si ma se magari una persona si avvicina alla programmazione per la prima volta, per creare un'app e vantarsi con gli amici :p poi può passare a creare .....
Dipende che amici, i miei non gliene può importare di meno se faccio App o Up anziché Epp.

Al massimo ti dicono.. Ah fai App? allora spiegami perché WhatsApp......
Fare App=Saper usare WhastApp
 

Star-Dust

Expert
Licensed User
perché non e` cosi?o_O
Si ovvio, i primi 3 anni delle superiori nelle lezioni di informatica ci insegnavano WhatsApp, e poi nel laboratorio di informatica ci esercitavamo a digitare velocemente col solo pollice
 

udg

Expert
Licensed User
Longtime User
Quindi ti era (ovviamente) ignoto anche b4j (e b4a), per cui ti sarebbe convenuto provare VB.Net,
In realtà tutto è partito dal fatto che nell'estate del 2012 ho ricevuto in regalo un tablet che per lungo tempo non ho mai neanche acceso perchè non sapevo che farmene; poi l'ho relegato al ruolo di visualizzatore dei quotidiani on-line.
L'anno successivo ho scoperto B4A e ho pensato che forse avrei potuto imparare qualcosa di nuovo e divertente (app che interagiscono con strumenti non presenti sui PC, tipo GPS, giroscopi, etc), così ho "riscoperto" il Basic, o meglio l'ennesimo suo dialetto.
B4J è stata una scelta "naturale" visto che potevo condividere una quota parte di codice con B4A, avevo ormai un Raspberry su cui testare un deploy Linux e che mi permetteva (lato server) di evitare PHP&co. di cui non sono esperto.

Da un paio di settimane ho installato Lazarus perchè il primo amore non si scorda mai..ehehe

ps: non so voi, ma io l'accoppiata DOS+TurboPascal non l'avrei cambiata per nulla al mondo! Totale controllo di tutto (hw e sw), efficienza e libertà.
 
Top