PDA

View Full Version : All'accensione del SO, apertura browser fullscreen


race2
22-04-2018, 11:36
Salve,
ho la necessità su Linux Ubuntu Desktop, di fare aprire un browser in full screen quando si accende il sistema operativo, browser che devo realizzare io in c++ credo...,

in pratica credo di realizzarlo con un WindowsForm + Componente browser, evitando di inserire qualsiasi barra, bottone, icona, etc....

Questo perchè all'apertura, deve vedersi solo il form componente-browser a tutto il display in primo piano, nel browser girerà una pagina del proprio server Apache "localhost/page.php".

Con Visual Studio 2017 in c++, posso esportarlo in modo che lo esegua Linux? Mi potete indirizzare a qualche esempio pratico?

Se non è possibile mi potete dare un consiglio su quale metodo devo utilizzare per arrivare al mio scopo?

Grazie molte a tutti.

Bazzilla
23-04-2018, 09:04
Quello che realizzi con VS2017 è molto difficilmente portabile su Linux.
Se poi nel tuo programma ci incapsuli il componente browser, è ancora peggio, perché fuori da Windows non esiste tale componente.

Visto quello che ti serve, dovresti valutare un approccio con soluzioni tipo Selenium/WebDriver o (in extremis) ElectronJS.

La prima è un sistema che ti permette di pilotare un browser con Java o Python o altro (dipende cosa preferisci).
Puoi crearti semplici batch che avviano un browser (Firefox, Chrome e altri) e lo comandano a tuo piacimento: avviarsi, andare a tutto schermo, caricare questo o quell'URL e così via.
Probabilmente è possibile avviare un browser anche senza barra degli indirizzi, barra del titolo ecc...

La seconda soluzione è, in pratica, una architettura software che si basa su Chromium e NodeJS: la parte client è un browser (Chromium appunto) che credo tu possa pilotare come più ti piace.
Con ElectronJS non ci ho mai avuto a che fare, ma non dovrebbe essere difficile ottenere quello che chiedi.

race2
23-04-2018, 18:39
Ti ringrazio per la tua risposta cosi dettagliata,

Ti do tutti i dettagli del progetto cosi magari riesci a consigliarmi al meglio.

Devo gestire un lettore di banconote, una webcam e una elettro-serratura da un Odroid con installato Ubuntu Mate.

Io avevo intenzione di gestire tutto con PHP da una pagina dove ho un modulo html che simula graficamente una sorta di piccolo gestionale, per ogni Select o Button o altro controllo html, avrei fatto gestire delle funzioni Python o altro... con delle chiamate "HTTP_Request",
la cosa mi pare un po lunga e poco stabile.

Oggi ho pensato questo:

Creo un interfaccia in Java riproducendo i soliti Select, Button, etc..., di quelli della pagina html, e tutta la gestione dei driver di quelle periferiche che ho detto sopra la faccio dall'interfaccia, compreso la scrittura su MySQL, all'accensione di Odroid mi visualizza l'interfaccia a schermo intero.

Una soluzione di questo tipo come la vedi?

Bazzilla
23-04-2018, 22:27
Beh, non mi metto a farne uno studio approfondito...

La scelta di Java mi sembra buona per una soluzione full-stack come quella che mi hai descritto...così come sono buone altre N soluzioni.
La scelta più corretta mi sembra quella di usare strumenti/linguaggi/architetture con cui hai già dimestichezza.

L'idea di incastonare tutta la logica nell'interfaccia, di norma può risultare discutibile, ma poi tutto dipende dalla complessità del tuo progetto, dall'uso, dalla mantenibilità che vuoi avere e via discorrendo.
Se tutto finisce in un piccolo applicativo da usare SOLO in locale, direi che ci può anche stare.

In applicativi che si basano su IOT, si vedono spesso interfacce HTML5 su serverini http che svolgono la logica business/applicativa, in modo che siano utilizzabili e pilotabili anche in rete.
Se hai questa necessità anche tu, non scarterei l'ipotesi di una interfaccia web-based e una parte server che fa il lavoro "sporco".

Sul discorso "stabilità", anche qui direi che dipende da come ingegnerizzi il tuo applicativo e da come utilizzi gli strumenti (non da quali utilizzi).

race2
24-04-2018, 07:00
Sei stato chiarissimo,
io ho dimestichezza con PHP, Python, Javascript, pochissimo in Java.

Non ho mai provato da html a comunicare con le periferiche, ma posso intuire che, creando dei file in Python o PHP dove ci sono le richieste, posso comunicare tramite "HTTP_Request" e passare all'interfaccia html tutte le risposte.

Secondo te se vado per il metodo Html, ho descritto bene la gestione qui sopra oppure si deve procedere in altro modo?

Bazzilla
24-04-2018, 08:24
In linea di massima direi che può andare...in fondo non esiste un modo in cui si deve procedere piuttosto che un altro.

Una interfaccia html sicuramente ti garantisce compatibilità e integrazione a prescindere da che tecnologia utilizzi "lato server".
Dall'altra parte vanno bene PHP o Python o entrambi insieme.
Poi vedi tu, anche in base a che interfaccia hai per pilotare i dispositivi di cui parlavi.

Se hai un linguaggio in comune per le API dei diversi dispositivi, mi viene da consigliarti di usarne uno solo invece di mettere insieme Python e PHP: non perché non sia fattibile, ma perché (secondo me) hai meno sbattimenti.

race2
24-04-2018, 11:29
Ok, ti ringrazio molto, prendo questa strada, grazie ancora.

Bazzilla
24-04-2018, 11:41
Figurati.