Benvenuto Visitatore ( Log In | Registrati )
![]() ![]() |
17 Jun 2008, 17:48
Messaggio
#1
|
|
|
ciao a tutti!
ho letto di questo progetto “segreto” ma “opensource” (un po’ contraddittorio no?) di Apple per costruire applicazioni web che siano "look and feel like” applicazioni Desktop. Si chiama SproutCore ed è basato su Javascript (come AJAX...?) e su Cocoa. Questo a quanto ho letto... mi incuriosisce (visto che sono una a cui l'idea d'avere tutto in rete e niente sul computer tenta parecchio!) ma non ci ho capito molto. ![]() Mi chiedo anche perché Apple non abbia usato un qualcosa di meglio di Javascript, che so, Ruby? Che ne pensate? Mi spiegate un po’? ![]() ciao e grazie! ![]() alcina -------------------- o tevacchiani senza avatar, vi esorto
, ve ne supplico , vivificate voi stessi e il nostro forum mettendo anche voi un vostro... francobollo simbolico! Forza, pigroni, mettete un avatar!![]() |
|
|
|
|
|
|
|
17 Jun 2008, 19:20
Messaggio
#2
|
|
|
Mi chiedo anche perché Apple non abbia usato un qualcosa di meglio di Javascript, che so, Ruby? Ruby, PHP, Python Perl e compagnia bella sono linguaggi lato server. Ad esempio, quando carichi una pagina di Tevac il server di Tevac legge il file PHP, che genera HTML; questo HTML viene inviato al client, in questo caso il tuo browser computer, dove il browser web trasforma la pagina HTML in quello che stai leggendo. Lo stesso avviene in un sito fatto in Ruby. Quindi SERVER (codice ruby o PHP --> html ) ------> CLIENT (HTML ---> PAGINA) Javascript è un linguaggio lato client; viene utilizzato per rispondere alle operazioni dell'utente senza ricaricare la pagina. Quando usi un'applicazione desktop, come Mail o Safari, il codice in Objective-C è sufficiente a gestire tutto: prima crea un pulsante, poi risponde alle tue azioni, ecc. Invece nel web l'unico modo diretto per interagire è cliccare un pulsante che ricarica una pagina. Senza Javascript ad ogni azione dell'utente dovrebbe corrispondere un caricamento di pagina. Come capirai non è facile simulare un'applicazione desktop. Per questo motivo qualche anno fa è nata la tecnologia cosiddetta AJAX: Asynchronous Javascript XML, o qulcosa del genere. Un'applicazione AJAX è un'applicazione Web che, tramite Javascript, fa finta di essere un'applicazione desktop. Per esempio nel forum di tevac il pulsante "Risp. veloce" utilizza java script: quando lo premi compare un riquadro che ti consente di inviare una risposta. Come saprai non è necessario ricaricare la pagina perché si apra il riquadro di "Risposta veloce". Sproutcore è un framework Javascript, che gestisce cioè l'interazione con l'utente, sul lato client, senza ricaricare la pagina; sicuramente sul lato server Apple utilizza anche un altro linguaggio, forse Ruby, o forse PHP. La questione è complicata, spero di essere stato chiaro. Davide -------------------- |
|
|
|
|
17 Jun 2008, 19:42
Messaggio
#3
|
|
|
grazie per la lunga risposta! Sapevo che Javascript è un linguaggio lato client, ma ora mi hai fatto capire meglio perché abbonda così tanto nelle pagine web (la faccenda del ricaricare la pagina per esempio... non ci pensavo!). Certo però che non si sia trovato niente di più snello, mah. Prendo atto anche che Ruby è serverside, io pensavo che con certi suoi figlioletti stile Ruby on Rail si facessero proprio le applicazioni web e che dunque fosse anche (argh debbo aver detto qualcosa di blasfemo) clientside ma ehm non sono mai andata più in là dell'acquisto di un eBook su Ruby for dummies o roba del genere. E mai aperto come hai potuto notare! ciao Davide! ![]() alcina -------------------- o tevacchiani senza avatar, vi esorto
, ve ne supplico , vivificate voi stessi e il nostro forum mettendo anche voi un vostro... francobollo simbolico! Forza, pigroni, mettete un avatar!![]() |
|
|
|
|
17 Jun 2008, 19:47
Messaggio
#4
|
|
|
Ruby on Rails, tra l'altro, contiene vagonate di funzioni "helper" che utilizzano Ruby E Javascript
Javascript è in realtà l'unico standard di linguaggio client side, per cui qualsiasi linguaggio usi lato server, se vuoi interazione in tempo reale con l'utente devi usare Javascript. Insomma, alternative non ce ne sono. Ciao! Davide -------------------- |
|
|
|
|
17 Jun 2008, 20:32
Messaggio
#5
|
|
|
Ruby on Rails, tra l'altro, contiene vagonate di funzioni "helper" che utilizzano Ruby E Javascript Javascript è in realtà l'unico standard di linguaggio client side, per cui qualsiasi linguaggio usi lato server, se vuoi interazione in tempo reale con l'utente devi usare Javascript. Insomma, alternative non ce ne sono. Ciao! Davide insomma... capito... da javascript "nùn se scappa!" grazie Davide! ![]() alcina -------------------- o tevacchiani senza avatar, vi esorto
, ve ne supplico , vivificate voi stessi e il nostro forum mettendo anche voi un vostro... francobollo simbolico! Forza, pigroni, mettete un avatar!![]() |
|
|
|
|
17 Jun 2008, 23:55
Messaggio
#6
|
|
|
ho letto di questo progetto “segreto” ma “opensource” (un po’ contraddittorio no?) di Apple Beh non è un progetto di Apple, SproutCore se lo sono scritto questi qua per i loro servizi, credo abbia un anno se non di più. Apple già lo usava per le gallery di .mac, ora ha annunciato che sarà la base per MobileMe, quindi è facile che abbia contribuito. Poi non è l'unico framework JavaScript con “affinità” con gli ambienti di sviluppo per OS X. Questi qua (due ex dipendenti Apple) si son scritti una specie di interprete Objective-C in JavaScript per farci un clone di Keynote. Tra l'altro hanno lanciato il servizio un paio di settimane fa, mi chiedo se tra i due prodotti non ci sia stata qualche competizione. -------------------- iPhone è un troll.
|
|
|
|
|
18 Jun 2008, 00:22
Messaggio
#7
|
|
|
CITAZIONE Beh non è un progetto di Apple, SproutCore se lo sono scritto questi qua per i loro servizi, credo abbia un anno se non di più. Non ho ben capito, dal link postato, a cosa serve il prodotto... Spiegazioni? -------------------- Va bene non saper far niente, ma niente di tutto no!
|
|
|
|
|
18 Jun 2008, 00:32
Messaggio
#8
|
|
|
Non ho ben capito, dal link postato, a cosa serve il prodotto... Spiegazioni? Ma dici Mailroom o Sproutcore? No perché ho visto altrove che cerchi info su servizi e-mail Sproutcore è un framework per realizzarci applicazioni web secondo certi pattern di sviluppo (MVC, bindings, etc) comuni a Cocoa e altri ambienti di sviluppo per applicazioni desktop e non. -------------------- iPhone è un troll.
|
|
|
|
|
18 Jun 2008, 09:28
Messaggio
#9
|
|
|
-------------------- Va bene non saper far niente, ma niente di tutto no!
|
|
|
|
|
18 Jun 2008, 09:42
Messaggio
#10
|
|
|
Mi pare che lungo articolo da cui è nata questa discussione, rimbalzato poi su Ars e Tuaw, dicesse che il tizio di Sproutcore adesso lavora ad Apple. L'autore ipotizzava che Apple stesse lavorando a un vero e proprio "port" che consentisse di usare Cocoa sul web, insomma roba grossa
Davide -------------------- |
|
|
|
|
18 Jun 2008, 10:14
Messaggio
#11
|
|
|
Mailroom... Ah non ne ho idea Mi pare che lungo articolo da cui è nata questa discussione, rimbalzato poi su Ars e Tuaw, dicesse che il tizio di Sproutcore adesso lavora ad Apple. Ah questo? QUOTE L'autore ipotizzava che Apple stesse lavorando a un vero e proprio "port" che consentisse di usare Cocoa sul web, insomma roba grossa Sì, SproutCore QUOTE If you were waiting for the resurrection of Yellow Box or Cocoa for Windows, stop waiting and start coding. SproutCore brings the values of Leopard’s Cocoa to the web, domesticating JavaScript into a functional application platform with lots of free built-in support for desktop features. SproutCore + il comando “Save as Web application” di Safari 4. O anche SproutCore + Adobe AIR... -------------------- iPhone è un troll.
|
|
|
|
|
18 Jun 2008, 10:44
Messaggio
#12
|
|
|
Esatto, ieri ho avuto la pazienza di "quasi leggerlo" tutto. E' un po' tipo sfera di cristallo, o il tizio ha visto giustissimo o ha lasciato volare un po' troppo l'immaginazione
Davide -------------------- |
|
|
|
|
18 Jun 2008, 17:01
Messaggio
#13
|
|
|
Esatto, ieri ho avuto la pazienza di "quasi leggerlo" tutto. E' un po' tipo sfera di cristallo, o il tizio ha visto giustissimo o ha lasciato volare un po' troppo l'immaginazione Sì è un bel mattone. Per come la vedo io ci ha beccato per quanto riguarda il discorso sul controllo dei toolkit per sviluppare le RIA. Con lo spostamento delle applicazioni dal desktop al web, chi controllerà gli strumenti di sviluppo avrà un discreto potere “di vita o di morte” sui vari ambienti desktop e mobili. Chiaro che questo non piace né a Microsoft né ad Apple, ecco quindi Silverlight, e la spinta che Apple sta dando a WebKit. Anche se non mi pare che il pericolo di un monopolio di Adobe sia già... uhm “tangibile”. Cioè, oggi ci sono RIA sviluppate in Flash/Flex e RIA sviluppate in AJAX. Mi pare un po' miope quando dice “guardate Google, che fa tutto con tecnologie aperte, senza Flash”. Al di là di quelle che sono le capacità di Flash/Flex o di AJAX (che comunque non sono sovrapponibili), c'è una differenza non da poco tra le risorse che può mettere in campo Google, e le risorse che può mettere in campo una startup (penso a Google Docs paragonato a Buzzword). Non è nemmeno vero che Google non usa Flash (lo usa in Analytics, e c'è la Map API c'è anche per ActionScript). Anche ignorando quelli che sembrano problemi di gioventù di SproutCore (le demo non funzionano su IE7 e Opera, capisco quella delle foto, ma i controlli standard...), comunque non copre il 100% del featureset di Flash, e lo scarso interesse per IE6, potrebbe essere un ostacolo per la sua adozione. Per cui anche la definizione di “Flash killer” mi pare più che altro una catchphrase. Ma alla fine poi questo è un problema con i “killer” in generale... Ruby on Rails doveva fare una strage, per esempio, invece i suoi concorrenti sono ancora lì dov erano, e anzi si sono evoluti anche assorbendone certe caratteristiche. -------------------- iPhone è un troll.
|
|
|
|
|
19 Jun 2008, 09:47
Messaggio
#14
|
|
|
Alcina voleva Ruby, pare che Sproutcore usi proprio Ruby, ma solo nella fase di svilupo del sito:
CITAZIONE The SproutCore framework is completely JavaScript based. We have also created some build tools that will take care of efficiently packaging your HTML, JS, and CSS for delivery over the web that are based on ruby. However, Ruby is not required for you to use SproutCore except during development. After lots of testing, we have found that the most efficient way to server a SproutCore application is as a …. static web page! Once you are ready to deploy a SproutCore application, you can run a build tool and it will generate set of static HTML, CSS, and JS resources along with any other images or flash components that can be dropped into a directory and served directly from Apache. Once a SproutCore application is loaded into your web browser, it communicates with your backend server using Ajax. You can literally use SproutCore with any backend technology that you want. As long as it can be accessed via HTTP, your SproutCore app will be able to talk to it. Questa mi pare proprio una novità: il sito viene distribuito direttamente in HTML + CSS * Javascript; niente linguaggio server-side. Sono ignorante in materia, ci sono precedenti di rilievo? Davide Messaggio modificato da nutsmuggler il 19 Jun 2008, 09:51 -------------------- |
|
|
|
|
19 Jun 2008, 11:05
Messaggio
#15
|
|
|
Questa mi pare proprio una novità: il sito viene distribuito direttamente in HTML + CSS * Javascript; niente linguaggio server-side. Il server viene “ridimensionato” ad essere la fonte dei dati, che può essere sostituita con un database locale. Questo vuol dire che puoi (potrai) usare SproutCore per sviluppare una applicazione completamente client-side. “Potrai” piuttosto che “puoi” perché manca un sistema per impacchettare l'applicazione e distribuirla (ecco l'utilità del comando “Save as web application” di Safari 4). Beh volendo ora potresti usare Fluid, o Adobe AIR. Questo approccio è possibile da quando AJAX è diventato popolare, potresti fare la stessa cosa usando AjaxRequest di Prototype, solo che ti dovresti sviluppare per conto tuo tutta la parte che riguarda la presentazione dei dati che ottieni dal server. Che è poi questo l'aspetto più interessante di SproutCore: se vuoi fare una tabella con un elenco di articoli crei una istanza di una TableView e la colleghi alla fonte dei dati, trascurando i dettagli di basso livello (table?! tr?! td?! th?! riordinare i record cliccando sull'intestazione?! drag and drop?!). Infatti penso che questo framework piacerà molto a chi arriva sul web con un background nello sviluppo tradizionale. Quanto ai precedenti: i componenti per la visualizzazione dei dati in YUI permettono di utilizzare lo stesso approccio, o quello del “progressive enhancement” (es.: tabella HTML normale con JavaScript “spalmato” sopra). Dojo mi pare faccia uguale. -------------------- iPhone è un troll.
|
|
|
|
|
![]() ![]() |
| Titolo discussione | Risposte | Autore discussione | Visite | Ultima azione | ||
|---|---|---|---|---|---|---|
![]() |
7 | ekipS | 70 | Oggi, 14:07 Ultimo messaggio di: ekipS |
||
![]() |
19 | Sebastiano Ceppi | 278 | Oggi, 13:46 Ultimo messaggio di: asca777 |
||
![]() |
3 | Sebastiano Ceppi | 108 | Oggi, 10:55 Ultimo messaggio di: Bhoo! |
||
![]() |
68 | Simone Gentile | 1.005 | Oggi, 09:46 Ultimo messaggio di: maragines |
||
![]() |
0 | Massimo Maestroni | 31 | Ieri, 13:07 Ultimo messaggio di: Massimo Maestroni |
||
![]() |