Qualcuno ha usato Sproutcore?

19

Qualcuno ha usato Sproutcore per un'applicazione web? Se sì, puoi darmi una descrizione della tua esperienza? Attualmente lo sto prendendo in considerazione, ma ho alcune preoccupazioni. Innanzitutto, la documentazione è errata / incompleta e temo che trascorrerò molto tempo a capire o scavare nel codice sorgente. Inoltre, sono un po 'titubante nell'usare un progetto che è relativamente nuovo e potrebbe subire cambiamenti significativi.

I pensieri delle persone che hanno sviluppato in Sproutcore sono apprezzati!

EDIT / PS: Sì, ho visto questo post: link . Comunque sono interessato a una descrizione un po 'più lunga dello Sproutcore stesso da parte di qualcuno che lo ha usato per un progetto significativo.

    
posta Community 16.09.2009 - 07:10
fonte

6 risposte

15

Sfoglia i post del gruppo sproutcore nei gruppi di google per avere un'idea di cosa sta succedendo.

Qualche settimana fa qualcuno si è lamentato dei documenti, essendo un principiante, e in fondo quello che ha ottenuto è stato: "se non ti piace, perché non aiuti a creare i documenti" ... bene duh !!

Vedrai problemi come questo sin dal suo inizio. Inoltre alcune settimane fa qualcuno ha chiesto al gruppo come creare un collegamento ipertestuale usando Sproutcore. Voglio dire, LOL, ci vogliono ore per creare apparentemente un semplice collegamento ipertestuale.

Sproutcore non annuncia chi sta usando il loro framework in natura: di solito non è un buon segno.

Viene rivendicato (non da sproutcore stesso afaik) che Apple lo usa, ma se guardi da vicino vedrai che Apple ha il suo codice base.

Personalmente ho trovato che sproutcore è pieno di bug, la mancanza di un semplice tableview fastidioso, di esempi incompleti o non funzionanti e l'assenza di documentazione e persino l'assenza di TEST completi non è una buona base su cui basarsi.

    
risposta data 16.09.2009 - 09:04
fonte
20

Usiamo sproutcore più dell'anno.

Per prima cosa ho sviluppato la versione 0.9 che era eccellente ma presentava problemi di prestazioni, legati a KVO, dataset di grandi dimensioni ecc. Ma poiché SproutCore è Javascript (vicino a javascript) siamo stati in grado di risolverli per la nostra applicazione. Per me in realtà, SproutCore mi ha insegnato il modo corretto di codifica javascript. Stavo imparando Javascript e SproutCore allo stesso tempo.

Da qualche parte intorno a luglio hanno pubblicato Pre-alpha SproutCore 1.0. L'API è stata modificata in modo significativo, quindi la conversione della nostra applicazione in una versione più recente era un progetto in sé. E la documentazione era zero in quel momento.

Ora le cose sono cambiate, c'è documentazione e wiki molto carino. Nuovi tutorial e documentazione aggiunti ogni giorno.

Se stai pensando di usare / valutare SproutCore questo è il momento giusto. E ogni giorno SproutCore mi stupisce con capacità e potere che contiene. Ancora ci sono molti spigoli, che si riducono ogni giorno.

Alcune risorse:

SproutCore Wiki

Documenti API

Aggiunta recente per l'API dell'archivio dati (che è una parte molto importante)

    
risposta data 21.09.2009 - 15:49
fonte
17

Ho lavorato con un'azienda che utilizzava SC per riprogettare la loro app di punta. Ecco i miei pensieri:

  1. I davvero come il layout MVC di un'app SC. È qualcosa che penso che non manchino altri framework JS. La loro struttura vincolante rende le viste di aggiornamento in un attimo.

  2. La migliore documentazione era nel codice stesso.

  3. C'è bisogno di una documentazione migliore / altri esempi. I loro esempi sono sufficienti per iniziare, ma le cose avanzate fermeranno la maggior parte degli utenti.

  4. Il livello di accesso ai dati è troppo complicato. È un enorme mistero. Devono davvero sostenere la documentazione o fornire altri esempi per spianare la strada in modo che le persone possano usarla correttamente. D'altra parte, sembra essere un framework quasi ORM davvero potente.

  5. Mi piace il fatto che sottolineino i test.

  6. La mancanza di una griglia è una vera resistenza. Molte, se non la maggior parte delle app, hanno bisogno di griglie. Detto questo, SC è un framework MVC completo, non un framework di widget (componenti) elenco EXTJS.

  7. Gran parte del codice sembrava eccessivamente complessa. Ogni volta che un metodo diventa più lungo di 10-30 linee, dovrebbe essere suddiviso per aumentare la leggibilità.

  8. Forse la più grande considerazione è questa: se stai lavorando a un progetto e consideri SC, avrai davvero problemi a trovare sviluppatori competenti su cui lavorare. Quindi potrebbe essere utile per un piccolo progetto personale, ma stai correndo un rischio con un progetto di grandi dimensioni che necessiterà di manutenzione.

  9. Il supporto IRC è stato fenomenale. I ragazzi su quel canale sono davvero utili.

risposta data 29.06.2010 - 01:28
fonte
7

Sto usando SproutCore ed è semplicemente fantastico. Siamo passati da jQuery a SproutCore , poiché jQuery offre un piccolo insieme di utility e SproutCore offre una bella architettura di alto livello.

Abbiamo valutato queste librerie Javascript nel seguente ordine:

  1. Prototype , che sembrava ok ma jQuery ha più supporto e libri ecc.
  2. jQuery , che si sentiva benissimo ma non aveva alcun supporto per una bella architettura di alto livello e abbiamo iniziato a crearne uno, ma ci voleva anche molto tempo.
  3. Cappuccino , che ha una buona architettura di alto livello ma non ha roadmap e documentazione
  4. SproutCore LA SOLUZIONE, poiché offre una buona architettura di alto livello e ha un bel sistema di build integrato

La nostra lista in alto:

  1. SproutCore è il VINCITORE
  2. jQuery è un buon toolkit
  3. Il cappuccino sembra promettente ma non è ancora lì
  4. Il prototipo è ok, ma secondo me non è buono come jQuery

Naturalmente ci sono più toolkit, ma questi sono quelli che abbiamo valutato. In conclusione, posso consigliare vivamente SproutCore a chiunque stia sviluppando applicazioni di classe desktop usando Javascript. Se hai solo bisogno di un semplice Javascript, come i selezionatori di date ecc., Consiglio jQuery.

Solo un altro consiglio. Al momento di scrivere questa risposta SproutCore 1.0 è l'ultima versione stabile. Sfortunatamente è piuttosto vecchio e stiamo usando l'ultima versione che può essere trovata dalla pagina di Github di SproutCore . Lo consiglio vivamente.

    
risposta data 01.04.2010 - 18:02
fonte
4

Se stai cercando di entrare in SproutCore ti consiglio di scavare nell'applicazione di esempio SproutTweets. Molti dei più potenti costrutti (stati, framework caricati dinamicamente, un utile esempio di un'origine dati) sono lì dentro.

Puoi trovare l'applicazione SproutTweets su github link

  • Tieni presente che l'esecuzione dell'esempio in Safari con la finestra di ispezione Web offre un insieme più utile di messaggi di errore.
  • Il server sc contiene un proxy che può essere utilizzato per accedere alla propria origine dati REST in esecuzione su un server Web locale. Fai riferimento al file di build nell'app di esempio sprouttweets qui sopra per vedere come funziona.
  • Il proxy incluso nel servizio sc è molto limitato. Se si riscontrano problemi con le richieste del livello dati, fornire sc-build e la distribuzione sul server Web locale è una prova anziché il proxy. Abbiamo riscontrato problemi con i nostri loop di autenticazione 401 e lo streaming di risposte di set di dati di grandi dimensioni (codifica a blocchi).

Anche se non hai intenzione di usare SproutCore in un'applicazione di produzione devi farlo tu stesso per esplorarlo ulteriormente per vedere un potente approccio alla programmazione delle applicazioni javascript, in particolare la KVO e i mixin (aspetti). Un sacco di grande architettura per meditare e imparare da.

Ultimo punto: il canale IRC può essere molto più utile di altre fonti di informazione, in secondo luogo solo per alcuni approfondimenti nelle discussioni di gruppo su Google.

    
risposta data 29.04.2010 - 23:17
fonte
2

Ho usato SproutCore in passato. Mi è stato assegnato un progetto per sviluppare script di test web automatizzati usando lo strumento chiamato Selenium RC. Selenium RC è stato creato per targetizzare id e classi HTML standard, ma SproutCore compila gli ID degli elementi in modo che gli ID degli elementi siano pseudo casuali, quindi ho dovuto calcolare l'API per SproutCore in modo da poter visualizzare gli ID degli elementi dall'albero delle viste.

SproutCore ha una stretta analogia con i compilatori. Se hai troppi elementi che stai importando creando per la tua pagina web, c'è la possibilità che tu abbia una collisione nello spazio dei nomi sugli ID se dovessi creare la tua applicazione con jQuery. Quando crei la tua pagina web con jQuery, tutti gli ID degli elementi HTML sono globali. Non esiste lo scope locale come in un linguaggio compilato o interpretato.

SproutCore finisce per gestire il contenuto HTML per te. Le viste sono costruite usando javascript e quindi compilate. Se segui il tutorial SproutCore (e sono d'accordo che SproutCore è privo di documentazione, quindi dovresti cercare di evitarlo per un'applicazione aziendale), vedrai che il tuo progetto finito ha elementi ID di "sc - ###". Le collisioni nello spazio dei nomi sono state risolte sul sito Web, offrendoti la possibilità di lavorare più velocemente.

Tuttavia, ci sono grandi preoccupazioni. La documentazione non fa un buon lavoro spiegando perché la gente dovrebbe usarlo. Il progetto è opensource, ma scavando verso il basso per capire il javascript di livello inferiore per come le viste sono costruite diventano dolorose. Javascript è un linguaggio funzionale, ma trovo qualcosa di sbagliato con i linguaggi funzionali dinamici. C'è solo troppa flessibilità. Sto collegando Scala.

L'ultimo numero. SproutCore può essere lento. Ma è un prezzo da pagare

    
risposta data 25.05.2011 - 05:02
fonte

Leggi altre domande sui tag