Perché non abbiamo molti IDE basati sul Web? Quali aspetti del sistema rendono difficile l'implementazione di IDE come applicazione Web?
Perché non abbiamo molti IDE basati sul Web? Quali aspetti del sistema rendono difficile l'implementazione di IDE come applicazione Web?
Gli IDE moderni sono involucri attorno a strumenti più primitivi (ad esempio compilatori e debugger locali), quindi non è possibile rispondere alla domanda senza considerare i limiti dello sviluppo basato sul web in generale.
Un grande motivo per cui lo sviluppo web based sarebbe limitato dovrebbe essere l'impossibilità di accedere alle risorse locali:
Altre domande dovrebbero essere risolte su un ecosistema IDE basato sul web
In breve avrei bisogno di un modello diverso per lo sviluppo che non richiedesse i file di configurazione, usasse cose come stdin / stdout, ecc. Dovrebbe essere un'interfaccia web per una VM completa. Come lo faremmo? Tutto il lavoro precedente per fare l'installazione del software ecc. È costruito attorno alle interfacce desktop / linea di comando.
Quindi saresti limitato a un sottoinsieme specifico di programmazione. Probabilmente limitato a un ambito pre-definito in strumenti e librerie preinstallati. Quale probabilmente va bene in un senso molto stretto. Potevo vedere un IDE web per posizionare rapidamente le app web. Ma le app desktop? App specializzate (desktop o altro) che comunicano con un hardware specializzato? App che vivono in un ambiente di rete molto specifico? App che si basano su librerie molto specifiche?
Sono entusiasta delle possibilità, specialmente accoppiate a VM come le istanze EC2. Alcuni strumenti web creati attorno alla tua istanza EC2 per aiutare lo sviluppo generale potrebbero essere una bella area su cui lavorare. Non voglio limitare le possibilità, ma ci sono molte sfide che lo rendono molto difficile rispetto all'utilizzo di un ambiente di sviluppo desktop.
Perché? Perché stanno risolvendo un problema che non esiste. Gli unici vantaggi rispetto a un IDE scaricato che posso pensare sono che occupano meno spazio su disco. Tuttavia, poiché il prezzo dello spazio su disco è sceso a $ 1/10 Gb, non lo vedo come un problema. Per coloro che scrivono regolarmente codice, gli svantaggi degli IDE basati sul Web sono che sono più lenti e meno efficienti rispetto agli IDE gratuiti come Eclipse.
Ci sono molti IDE basati sul web. Alcuni di essi pongono l'accento sulla codifica collaborativa. Penso che qualunque cosa ti faccia pensare che non ci siano molti "buoni" IDE basati sul web è probabilmente la definizione soggettiva di ciò che "buono" in realtà significa. Quali caratteristiche mancano ecc ...
Personalmente, rimarrò sempre con il mio IDE desktop nativo.
Il problema, penso, è che c'è così tanta complessità nello sviluppo di qualsiasi applicazione non banale che un IDE basato sul web non sia l'ambiente giusto per farlo. Se stai cercando aspetti specifici di un IDE che sono difficili, direi che il debugging e l'implementazione / hosting sono i più difficili da fare sul Web.
Ad esempio, supponiamo stiate sviluppando un'applicazione web. Un'azienda con tempo e risorse sufficienti può creare un IDE HTML / JavaScript basato sul Web per facilitare la creazione dell'applicazione Web. Ma cosa fa questo IDE quando devi andare e distribuire l'applicazione per test / debug localmente? In teoria, potrebbero fornire autonomamente alcune opzioni di hosting delle applicazioni e ospitare automaticamente l'applicazione Web per te, ma realisticamente, probabilmente ti limitarebbero a un piccolo insieme limitato di tecnologie di hosting (forse IIS o Apache?).
Quindi cosa succede quando è necessario accedere alle funzionalità del server Web che non hanno pensato di esporre tramite il proprio IDE basato sul Web? Ci sono così tante sfumature di configurazione per un web server che, nell'atto di esporle tutte tramite un IDE web, si potrebbe anche dare all'utente l'accesso desktop remoto alla macchina. E non farmi neanche iniziare quando hai bisogno di un ambiente multi-server (ad es. Server web, server SQL, server dei servizi, ecc.).
Questo è tutto presupponendo che tu stia lavorando nel dominio web. Ora immagina di creare un IDE in grado di supportare ANCHE lo sviluppo del desktop (ovvero i componenti di servizio, le app della GUI). Questo aggiunge un livello ancora più grande di complessità quando provi a eseguire il debug di un'applicazione desktop tramite un browser.
È probabile che svolgere compiti complessi over the wire sia possibile, ma non è pratico. Inoltre, le esperienze degli utenti di IDE basati sul Web non sembrano essere abbastanza reattive per il tipo di produttività che gli sviluppatori di oggi si aspettano dal loro IDE. Strumenti di produttività come Resharper (Visual Studio) richiedono una potenza di elaborazione così elevata che questo comportamento sarebbe piuttosto difficile da duplicare sul web.
Se non stai compilando e eseguendo il codice sul tuo computer locale, allora un IDE web ha molto senso. Ad esempio, l'IDE potrebbe configurare un'istanza Amazon EC2 per lo sviluppo, compilare il codice lì e distribuirlo. Questo non è niente che un IDE tradizionale non possa fare, ovviamente; in questa situazione, sono utilizzabili sia gli IDE basati su Web che quelli tradizionali.
Tuttavia, lo sviluppo di qualsiasi IDE nello standard Eclipse è difficile. L'aggiunta di questa funzionalità di debug-to-cloud è uno sforzo aggiunto. Semplicemente non c'è stato abbastanza tempo con un'enfasi sul cloud per lo sviluppo per le persone a sviluppare web IDE di alta qualità.
Leggi altre domande sui tag web-applications ide gui