HTML5 / JS sostituirà eventualmente tutte le lingue lato client? [chiuso]


12

Mi sto solo chiedendo il futuro di tutto ciò. IMHO, ci sono 4 forze che definiscono dove va la tecnologia: Microsoft, Apple, Google, Adobe.

Sembra che negli iAD di iPhone / iPad di Apple sia ora possibile programmare in HTML5. Quindi questo significa che HTML5 alla fine sostituirà object-c?

Inoltre, Microsoft ha ora spostato la sua attenzione da WPF / Silverlight a HTML5 e suppongo che Visual Studio 2011 riguarderà il supporto degli strumenti per HTML5. Perché è quello che fa Microsoft. (Utensili). Tra pochi mesi IE9 l'ultimo browser principale supporterà HTML5.

Allo stesso modo Adobe sta salendo sul carrozzone HTML5 e consente di esportare contenuti flash in HTML5 nei loro ultimi strumenti.

E sappiamo tutti quanto a letto Google è con html5. Diamine, il loro ultimo sistema operativo (Chrome OS) non è altro che un grosso browser Web.

Le app per dispositivi mobili (ad es. IPhone, Android, WM7) sono molto difficili da programmare per un'azienda in particolare per molti dispositivi diversi (ognuno con la propria lingua), quindi presumo che non durerà a lungo. Vale a dire, HTML5 sarà la lingua unificante. Il che è un po 'triste per gli sviluppatori di app perché ora gli utenti saranno in grado di giocare gratuitamente alle app "cool" html5 sul Web e sarà difficile caricarle.

Quindi i linguaggi fortemente tipizzati sono davvero condannati, e in futuro, diciamo 5-10 anni, la programmazione lato client sarà solo in HTML5? Diventeremo tutti programmatori javascript? :) Perché i segni puntano sicuramente in quel modo ...


1
Quei sostenitori del miglioramento progressivo devono ormai rotolare nelle loro tombe.
Gio Borje,

2
stai dicendo che i benefici della digitazione forte non saranno più necessari?
Aaron Anodide il

1
Penso che sarà VS 2012, non VS 2011.
DeadMG

6
Se è così, dovrò solo uccidermi.
Giobbe

2
Sono stanco di preoccuparmi della compatibilità del browser. È così dannatamente infantile.
The Muffin Man,

Risposte:


14

Penso che sia errato suggerire che HTML5 / JS sostituirà TUTTE le lingue lato client. Molte applicazioni andranno in questo modo negli anni a venire? Sì, probabilmente. Saranno tutti loro? No.

L'altro punto importante da notare è che il paesaggio è in continua evoluzione. HTML5 è una grande tecnologia che promette di risolvere molti dei problemi che gli sviluppatori hanno attualmente quando provano a scrivere applicazioni che funzionano su più piattaforme. Certo, HTML5 / JS può risolvere molti di questi problemi, ma il panorama cambierà e sorgerà una nuova serie di problemi. HTML5 alla fine sembrerà datato.

Tra 10 anni, chiediti se HTML5 / JS è stata la soluzione a tutti i problemi e posso tutti ma garantire che la risposta sarà no. Tra 20 anni la domanda stessa sembrerà probabilmente ridicola.


+1 Sono completamente d'accordo. Guarda indietro nella storia, "l'ultimo e il più grande" è sempre sostituito dal nuovo "l'ultimo e il più grande". Questo fa parte di ciò che è così bello della programmazione, che evolverà sempre.
Beth Whitezel,

le cose si evolvono a velocità diverse però - come l'interazione dell'utente con il computer - schede perforate, quindi tastiere, quindi mouse - spesso mi chiedo quale sarà il prossimo perché ciò potrebbe rivelarsi un importante cambio di gioco nello sviluppo di app client - discorso, 3D - che aggiungono - ma qualcosa sostituirà tastiera / mouse? Penso di sì, anche se non so quando.
Aaron Anodide il

6

Javascript è un linguaggio di programmazione molto scarso. La traduzione da linguaggi di programmazione tipicamente statici, come Java con GWT, sta diventando sempre più comune. Javascript potrebbe diventare lo stesso tipo di linguaggio unificatore dell'assemblatore: puoi scriverlo direttamente, ma raramente è una buona idea.


1
Non conosco solo le lingue tipicamente statiche, ma se lanci jQuery o MooTools o simili lì, sono d'accordo con te :)
Damovisa,

8
Non sono d'accordo con te sul fatto che JavaScript sia un linguaggio scadente, questo non è assolutamente corretto! :) Sembra che ci siano molti programmatori pigri che conoscono Java o altre lingue lato server da molti anni e non vogliono migliorarsi imparando nuove lingue e dicono che JavaScript è scarso: D Ecco perché ci sono così tanti strumenti e framework per generare JavaScript con le lingue lato server! JavaScript non è un web toy, è un vero linguaggio!
Zango,

Anch'io non sono d'accordo. Credo che sia un commento fuori luogo dire questo su JavaScript. Molti professionisti e prodotti di successo non sarebbero d'accordo. Il tempo è il miglior test e finora JS sta facendo un ottimo lavoro resistendo all'orologio tecnologico.

Non riesco a immaginare perché preferirei scrivere 50 righe di Java, sperando che la mia modifica possa essere sostituita a caldo, quando potrei scrivere dieci righe di Javascript e ricaricare la pagina. O sono stati eliminati i riavvii del server Web quando non stavo guardando?
Kevin Cline il

5
Ho scritto software commerciale in circa una dozzina di lingue durante la mia carriera e scrivo JavaScript su base giornaliera. JavaScript è un linguaggio ragionevole considerando che è stato ideato e implementato nel 1995 per alcune settimane. Anche così, non riesco a capire gli apologeti JavaScript. Presenta gravi difetti che richiedono ai programmatori responsabili di evitare completamente determinate funzionalità del linguaggio e di utilizzarne altri in modi non originariamente previsti al fine di fornire funzionalità mancanti. Forse non lo usano per grandi progetti? Ho scoperto che usarlo per sistemi di grandi dimensioni con molti programmatori è relativamente difficile.
PeterAllenWebb,

1

Sì.

Ecco perché. Le app sono composte da codice dell'interfaccia utente e dati back-end. Il codice dell'interfaccia utente viene eseguito in HTML5 / CSS3 / Javascript. Il codice back-end può essere proprietario ed eseguito in qualsiasi lingua. Inoltre, jQTouch e librerie simili possono essere utilizzate per emulare interfacce utente simili a iPhone ma open-source e scritte in Javascript / HTML5 / CSS. jQTouch ha dimostrato che se il browser consente ai programmatori JS di accedere agli eventi dell'interfaccia utente del dispositivo, i programmatori JS emuleranno qualunque stile dell'interfaccia che è di moda per la stessa piattaforma.

I programmatori Javascript saranno più richiesti che mai. In un'architettura modello-view-controller, il modello e il controller si trovano nel back-end, ma il codice di visualizzazione è meglio scritto nel browser. ovvero HTML5, Javascript, CSS. E devi scrivere il codice JS per accedere ai dati di back-end, specialmente con un codice AJAX pesante.

Gli incrementi di produttività andranno tutti alle lingue interpretate dinamiche. Man mano che i processori diventano sempre più veloci, la produttività del programmatore, la produttività dei sistemi e la produttività dell'amministratore delle app influiscono maggiormente sulla produttività complessiva. Semplicemente non devi preoccuparti della velocità con cui la VM o il compilatore del tuo linguaggio di programmazione funzionano più. Ora devi preoccuparti di più di quanto costa fornire e supportare la tua app.

La maggior parte delle app autonome non è eccezionale secondo me. Proprio come ci sono alcune fantastiche app per PC stand-alone e le migliori vengono trasformate in app Web. In realtà è meglio distribuire gratuitamente l'app client HTML / JS / CSS e addebitare una tariffa mensile per l'accesso ai dati di back-end e alla logica aziendale. I programmatori venderanno abbonamenti meglio delle app one-shot.

A proposito, guarda questo video scrivendo una parte di un'app Web autonoma su un browser Webkit. È interessante...


1
Bene, una cosa bella delle app "one-shot" è che almeno non devi fare tutto il fastidioso nome utente / password come te quasi ovunque nel web. Lo stato viene salvato localmente. Inoltre, molte app lato client non hanno davvero bisogno di un back-end. Pensa ai giochi in flash. E chi nel mondo acquista un abbonamento per i giochi flash di calcio mamma? Nessuno. E chi nel mondo acquista app mobili? tutti. Sfortunatamente, temo che html5 uccida le app. È stato bello avere sviluppatori indipendenti che guadagnavano una volta tanto.

@Schnitzel - Gli sviluppatori indipendenti faranno soldi se costruiscono anche un back-end.
Jay Godse,

2
-1 per "I guadagni di produttività andranno tutti alle lingue interpretate dinamiche" - questo è molto falso secondo me. Sono molto più produttivo in linguaggi tipizzati e compilati statici come Scala. Trovo gli errori molto più velocemente, direttamente nel mio IDE, rispetto a quelli con linguaggi dinamici come PHP, Python e Ruby.
Jonas,

Non vedo davvero alcun vantaggio nell'usare PHP / Ruby / Python invece di Scala.
Jonas,

@Jonas - La tua domanda su programmers.stackexchange.com/questions/7516/… suggerisce che i linguaggi dinamici guidano il pacchetto di produttività.
Jay Godse,

1

Esiste la volontà di sostituire i linguaggi di codifica delle applicazioni come C ++, Java ... con HTML / Javascript. Ci sono molte ragioni alla base, alcune:

  • Sviluppo più veloce
  • Forza lavoro più economica
  • La connettività è integrata
  • Più facile da produrre qualcosa che sembra buono
  • Il testo è accessibile ai motori di indicizzazione

Tuttavia, potrebbero apparire altre lingue, da utilizzare come sostituti drop-in per JavaScript. Dopotutto, è difficile avere una lingua che possa fare tutto nel modo giusto, pur rimanendo una lingua di alto livello! E JavaScript è in circolazione da un po 'e ha accumulato alcune carenze.

JavaScript potrebbe benissimo finire per essere la lingua principale per il lato client, ma non penso che non possa né dovrebbe essere l' unica lingua, perché, essendo JS un linguaggio guidato dagli standard, progettato dal comitato, questo semplicemente ucciderà l'innovazione a quel livello (linguaggi di programmazione).


0

Dipende anche dall'abilità della maggior parte degli sviluppatori e dagli strumenti che usano. I giganti della tecnologia che menzioni possono guidare una tecnologia basata sugli strumenti che forniscono. Ad esempio, la gente dice che HTML5 è Flash killer, ma penso che sia troppo lontano ci sono molti sviluppatori Flash ed è un compito scoraggiante spostare le loro abilità su JavaScript. Ciò che alla fine accade l'abilità rimane la stessa ma l'output diventa diverso. In questo caso, Adobe esce con lo strumento di conversione HTML5.

Inoltre, devi pensare alle prestazioni delle applicazioni client. Laddove necessario, verrà utilizzato uno strumento specifico per la piattaforma. Ad esempio giochi e app iOS. So che WebGL sta uscendo bene, ma sento che le persone usano ancora C per creare giochi. Oppure creeranno un linguaggio di gioco che crea giochi ad alte prestazioni. Inizialmente Apple voleva solo webapp, ma quando gli sviluppatori videro le meraviglie di Cocoa ci saltarono sopra per creare app di classe.

Per riassumere, ci saranno sempre nuovi strumenti / linguaggio / tecnologie che saranno sempre più interessanti di quelli attuali.


0

Non tutti, ma probabilmente la maggior parte. Forse javascript può diventare abbastanza veloce da sostituire HashCalc ma non esiste alternativa web a VLC (i browser non supporteranno tutti quei codec). Dubito che i browser web mi permettano di accedere a qualsiasi file desiderato o di archiviare un elenco di file recente (senza un 'è ok per accedere' ogni volta che faccio clic sul file recente) e non mi piace l'idea di distribuire app che sono browser web al 99% (diversi mb) con il mio 100kb di codice quando si tratta di casi in cui il codice si interrompe bc i browser non sono retrocompatibili con l'html o ho bisogno di una variante / leggera modifica di webkit.

-edit- mi piacciono anche i linguaggi statici piuttosto che quelli dinamici, ma suppongo di poter usare un buon linguaggio con LLVM che dovrebbe essere supportato dal browser.


-1

Penso che continueremo ad andare in quella direzione fino a quando il browser non diventerà il sistema operativo e quindi tutto inizierà a riciclare nello stesso ordine ma con lezioni apprese e miglioramenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.