Browser come piattaforma rich client [chiuso]

5

In Java esiste una nozione di "piattaforma rich client": è un framework per la creazione di applicazioni desktop, fornisce funzionalità comuni come browser di aiuto, gestione del layout delle finestre, ecc. I framework di riferimento sono Eclipse e Netbeans.

Ora sono curioso di sapere se qualcosa del genere può essere fatto su browser web? Ho sentito parlare di XULRunner, delle estensioni di Chrome, NPAPI e simili ma esitanti a immergermi ulteriormente (la mia idea attuale è quella di puntare su Chromium).

Fondamentalmente, c'è un modo da un'applicazione browser (senza server):

  1. Funziona con file system (Apri / Salva / apri il browser dei file OS)
  2. Avvia i processi del sistema operativo (ad esempio alcune utilità) e analizza il loro output.
  3. Accedi alle librerie dinamiche.
  4. Modifica l'interfaccia utente del browser (ad esempio, rimuovi la barra home / degli indirizzi, i menu di ripristino)
  5. Pacchetto come qualcosa di facilmente implementabile lancia le app store.

Questo può essere fatto senza biforcare il browser? Di cosa dovrei leggere?

Requisiti aggiornati: In sostanza sto cercando "PhoneGap per PC", ma mi piace davvero come riutilizzare l'interfaccia utente di Chromium (schede, preferenze, ecc.) Se l'ho biforcato. Sto prototipando su Mac, configurerò una build Linux. A questo punto non sono interessato a Windows ...

    
posta Eugene 12.08.2013 - 18:50
fonte

3 risposte

6

Probabilmente desideri il Chromium Embedded Framework , che è apparentemente utilizzato da un discreto numero di applicazioni di profilo elevato .

The Chromium Embedded Framework (CEF) is an open source framework for embedding a web browser control based on Google Chrome, it is a convenient way to implement an HTML 5 based GUI in a desktop application or to provide browser capabilities to an application. It comes with bindings for C, C++, Delphi, Java, .NET, Python and runs on Linux, Mac OS X and Windows. (wikipedia)

Dal suono di ciò, puoi scrivere la maggior parte della tua applicazione in HTML + JavaScript + CSS, facendo affidamento su alcune "host" per fornire accesso alle risorse di sistema.

Un'altra opzione, in particolare se il tuo obiettivo è piattaforme non Windows, è scrivere effettivamente un'applicazione web che si appoggia su apache o viene fornita con un server web semplice, come server web integrato di PHP . L'avvio dell'applicazione, in quest'ultimo caso, consiste nel richiamare sia il componente del server che il browser (dopo che il componente del server preleva una porta per l'ascolto).

Se la tua piattaforma di destinazione era Windows, il concetto di un'applicazione HTML attendibile è stato usato per abbastanza per un po '. In pratica, dovresti scrivere una pagina HTML (incluso javascript, script vb e styling), dargli un'estensione .hta e funzionerebbe come un'applicazione attendibile.

link

Da lì, sarai in grado di accedere alla funzionalità di Windows Script Host .

Detto questo, se il tuo ambiente di destinazione è Windows, probabilmente è più semplice creare la tua applicazione con C # in Visual Studio, che è disponibile in una versione "Express" (gratuita).

    
risposta data 12.08.2013 - 20:26
fonte
3

Se ho ragione riguardo al tuo piano di creare un'applicazione desktop, e in realtà non utilizzare il browser stesso così tanto, quindi Awesomium o un quadro simile potrebbe interessarti. Stai ancora codificando il materiale di back-end in C # / C ++, o qualsiasi altra lingua tu preferisca, ma la tua interfaccia utente (il punto di forza di HTML / CSS) può essere codificata usando le tecnologie web.

Inoltre, se non ti interessa ridurre il pubblico di destinazione a 1/10, Windows 8 ti consente di codificare le app utilizzando HTML / CSS / JS.

    
risposta data 12.08.2013 - 19:28
fonte
0

Now I am curious if something like that can be done on top of web browser?

No, non lo fai. Se inizi con un browser, dovrai rimuovere tutto dal browser. Se hai intenzione di creare un'applicazione desktop dalla tecnologia web, IMO è più ragionevole iniziare dal motore di rendering, che è Webkit o Gecko e il loro motore JS e creare ciò che ti serviva da lì.

Alcuni IDE incorporano un motore di rendering HTML per il loro toolkit di sviluppo web o per il loro visualizzatore di aiuto. ChromeOS e FirefoxOS sono basati sull'idea che tutte le loro applicazioni native siano scritte in HTML / CSS / JS; Le app Metro di Windows, il Dashboard Widget di Mac e il vecchio Yahoo Widget sono applicazioni autonome scritte in HTML / CSS / JS. Poi c'è anche Adobe AIR (che è per lo più flash però).

Mozilla ha giocato con Prism (no, non che PRISM ), che è pensato per essere una piattaforma per scrivere applicazioni desktop usando tecnologie web, sebbene questo progetto non sia più attivo. Credo che - invece di portare la tecnologia web all'applicazione desktop - vogliano portare sul web funzionalità desktop (ad es. Per Canvas, WebGL, API Geolocation, Web Worker, Web Socket, API file, API indicizzate Database, ASM.js , eccetera). Anche se è da notare che Firefox OS sta andando in quella direzione.

    
risposta data 12.08.2013 - 20:03
fonte

Leggi altre domande sui tag