Linguaggio di basso livello funzionale che può utilizzare una vista webkit [chiusa]

3

TL; DR:

Ho bisogno di sviluppare un'app che dovrebbe avere lo stesso aspetto sul desktop e come incarnazione di un sito web.

Dato che sono un web dev e non ho mai sviluppato per desktop, voglio usare un linguaggio che può incorporare un webkit visualizzare così Posso usare lo stesso front-end HTML / JS per entrambi gli usi e ridurre al minimo la curva di apprendimento per la GUI almeno.

C ++ e Java possono entrambi utilizzare il webkit, tuttavia, sto cercando alternative in cui le funzioni siano cittadini di prima classe, perché preferisco di gran lunga le lingue basate su prototipi.

Versione lunga

Sono principalmente uno sviluppatore web; Sono a mio agio con js / as3 / php / python.

Ultimamente, tuttavia, avevo idee che necessitavano di altri linguaggi. Vale a dire, ho un'idea per un software che è parte custom-database e parte GUI. Così ho iniziato ad affrontare linguaggi orientati al desktop come Java e C ++.

Ho scoperto che Java è fondamentalmente super-facile e tipo C ++ ok (anche se diventa complesso quando provo a usare GTK e il i documenti sono scarsi e dispersi). Posso usare questo; una cosa però mi infastidisce: essendo appassionato di PHP come progetto e come comunità, sono cresciuto in antipatia per le lingue imperative e mi trovo molto più a mio agio con i linguaggi in stile ECMA. Sono stato contento del web dev ultimamente con l'avvento di node.js e di come avrei potuto iniziare a sviluppare funzionalità lato server con javascript.

La mia domanda

Ho bisogno di un linguaggio con le seguenti caratteristiche:

  • Funzionale. Per "funzionale", intendo una grande definizione . Ciò include qualsiasi lingua in cui le funzioni sono cittadini di prima classe (dove "azioni" sono più importanti di "attori").
  • Portatile: ho scelto C ++ / GTK o Java a causa della facile portabilità e senza restrizioni di licenza. Quindi la portabilità qui significa os-independent (con limiti realistici) così come licenza aperta .
  • Può utilizzare una vista webkit: (come in GTK , o in Java ) o simili; Intendo sfruttare la mia conoscenza delle app Web per creare una bella, usabile, gui in html5. La stessa interfaccia verrà utilizzata nella versione online dell'app. Pertanto, ho bisogno che il linguaggio abbia un modo per incorporare e interagire con HTML5
  • Può usare JS: idealmente, tramite V8, sebbene il rhino o uno strumento simile sia ok. Se un oggetto window js potrebbe essere esposto al codice js (quindi posso usare libs standard come jQuery), sarebbe perfetto.
  • Basso livello: ho bisogno che la parte del database sia veloce. Potrebbe codificare il mio db in C e la mia GUI in qualunque lingua-sarà-essere, ma idealmente, mi piacerebbe usare un set di strumenti per entrambi
  • Meno importante, ma: se il linguaggio potrebbe essere un derivato dello script ECMA, quindi posso sfruttare le mie competenze js, sarebbe bello.

Le mie opzioni correnti

  • Titanium , che ha tutte le caratteristiche di cui sopra e usa js come codice primario; Tuttavia, non mi piace essere legato ad un particolare SDK e preferisco usare libs open source indipendenti che posso leggere.
  • Il tuo suggerimento?
posta Xananax 02.12.2011 - 00:17
fonte

2 risposte

7

Sebbene sia significativamente diverso da Java, C ++, JS, qualunque altra cosa propongo Clojure , un dialetto Lisp. È funzionale nel vero senso. È anche dinamico. Poiché è in esecuzione sulla JVM, dovresti essere in grado di utilizzare una vista Webkit poiché hai accesso alle librerie Java.

Probabilmente la sintassi sembra strana, ma è davvero semplicistica e soddisfa le tue esigenze.

Rhino , un'implementazione open source di Javascript in Java. Puoi usarlo e avere accesso alle librerie Java anche se non sono interamente venduto su alcuni degli esempi. Il sito mostra che è necessaria una riflessione per creare un array Java da Rhino, che secondo me è goffo, ma questa è solo la mia opinione. Anche se come Clojure hai accesso alle librerie Java che soddisferanno il desiderio di visualizzazione del webkit.

    
risposta data 02.12.2011 - 02:46
fonte
1

Propongo Common Lisp.

  • Common Lisp è multi-paradigmi per poter essere funzionale programmazione.
  • Common Lisp è portatile, ci sono molte implementazioni funziona su vari sistemi.
  • C'è cl-webkit e ci sono anche molte librerie da usare Gtk.
  • Puoi usare Parenscript a traduci Common Lisp in JavaScript.
  • Common Lisp può essere molto veloce se sai come usarlo e se non le implementazioni sono sufficienti per produrre buon codice.

PS: sono un nuovo utente, quindi non posso pubblicare più link, ma puoi guardare cliki.net per trovare le librerie gtk.

    
risposta data 02.12.2011 - 16:43
fonte

Leggi altre domande sui tag