HTML5 / JS remplacera-t-il éventuellement toutes les langues côté client? [fermé]

12

Je m'interroge simplement sur l'avenir de tout cela. À mon humble avis, il y a 4 forces qui définissent où va la technologie: Microsoft, Apple, Google, Adobe.

Il semble que dans l'iPhone / iPad d'Apple, les iAD peuvent désormais être programmés en HTML5. Cela signifie-t-il donc que HTML5 remplacera éventuellement l'objectif-c?

De plus, Microsoft a maintenant déplacé son attention de WPF / Silverlight vers HTML5 et je suppose que Visual Studio 2011 sera entièrement consacré à la prise en charge des outils pour HTML5. Parce que c'est ce que fait Microsoft. (Outils). Dans quelques mois IE9, le dernier navigateur majeur prendra en charge HTML5.

De même, Adobe se lance dans le mouvement HTML5 et permet d'exporter du contenu flash vers HTML5 dans ses derniers outils.

Et nous savons tous combien Google est au lit avec html5. Heck, leur dernier système d'exploitation (Chrome OS) n'est rien d'autre qu'un gros navigateur Web.

Les applications pour mobile (par exemple, iPhone, Android, WM7) sont très difficiles à programmer pour une entreprise, en particulier pour de nombreux appareils différents (chacun avec leur propre langue), donc je suppose que cela ne durera pas trop longtemps. C'est-à-dire que HTML5 sera la langue unificatrice. Ce qui est un peu triste pour les développeurs d'applications, car les utilisateurs pourront désormais jouer gratuitement aux applications html5 «cool» et il sera difficile de les facturer.

Les langages fortement typés sont-ils vraiment condamnés, et à l'avenir, disons 5 à 10 ans, la programmation côté client sera-t-elle uniquement en HTML5? Serons-nous tous des programmeurs javascript? :) Parce que les panneaux pointent de cette façon ...


la source
1
Ces défenseurs de l'amélioration progressive doivent maintenant rouler dans leurs tombes.
Gio Borje
2
dites-vous que les avantages d'une frappe forte ne seront plus nécessaires?
Aaron Anodide
1
Je pense que ce sera VS 2012, pas VS 2011.
DeadMG
6
Si tel est le cas, je n'aurai qu'à me suicider.
Job
2
J'en ai assez de m'inquiéter de la compatibilité du navigateur. C'est tellement puéril.
The Muffin Man

Réponses:

14

Je pense qu'il est erroné de suggérer que HTML5 / JS remplacera TOUS les langages côté client. Est-ce que beaucoup d'applications iront dans ce sens dans les années à venir? Oui probablement. Est-ce que tous? Non.

L'autre point important à noter est que le paysage est en constante évolution. HTML5 est une excellente technologie qui promet de résoudre un grand nombre des problèmes que rencontrent actuellement les développeurs lorsqu'ils essaient d'écrire des applications qui fonctionnent sur plusieurs plates-formes. Bien sûr, HTML5 / JS peut résoudre bon nombre de ces problèmes, mais le paysage changera et un nouvel ensemble de problèmes surgira. HTML5 semblera finalement daté.

Dans 10 ans, demandez-vous si HTML5 / JS était la solution à tous les problèmes et je peux presque garantir que la réponse sera non. Dans 20 ans, la question elle-même semblera probablement ridicule.

Damovisa
la source
+1 Je suis entièrement d'accord. Revenons un peu en arrière dans l'histoire, le "dernier et le plus grand" est toujours remplacé par le nouveau "le dernier et le plus grand". Cela fait partie de ce qui est si génial dans la programmation, cela évoluera toujours.
Beth Whitezel
cependant, les choses évoluent à des vitesses différentes - comme l'interaction avec les utilisateurs d'ordinateurs - les cartes perforées, puis les claviers, puis les souris - je me demande souvent quelle est la prochaine étape, car cela pourrait changer la donne dans le développement d'applications client - discours, 3D - ajoutent-ils - mais quelque chose remplacera-t-il clavier souris? Je pense que oui - mais je ne sais pas quand.
Aaron Anodide
6

Javascript est un langage de programmation très pauvre. La traduction à partir de langages de programmation typés statiquement, tels que Java avec GWT, devient de plus en plus courante. Javascript peut devenir le même type de langage unificateur que l'assembleur - vous pouvez l'écrire directement, mais c'est rarement une bonne idée.

Don Reba
la source
1
Je ne connais pas que les langages typés statiquement, mais si vous lancez jQuery ou MooTools ou similaire là-dedans, je serai d'accord avec vous :)
Damovisa
8
Je ne suis pas d'accord avec vous que JavaScript est un langage médiocre, ce n'est absolument pas correct! :) Comme il semble qu'il y ait beaucoup de programmeurs paresseux qui connaissent Java ou un autre langage côté serveur depuis de nombreuses années et ils ne veulent pas s'améliorer en apprenant de nouveaux langages et ils disent que JavaScript est pauvre: D C'est pourquoi il y a tellement d'outils et des frameworks pour générer du JavaScript avec des langages côté serveur! JavaScript n'est pas un jouet web, c'est un vrai langage!
Zango
Je suis également en désaccord. Je pense que c'est un commentaire déplacé de dire cela à propos de JavaScript. De nombreux professionnels et produits à succès seraient en désaccord. Le temps est le meilleur test, et jusqu'à présent, JS fait un excellent travail pour faire face à l'horloge technologique.
Je ne peux pas imaginer pourquoi je préférerais écrire 50 lignes de Java, en espérant que ma modification puisse être remplacée à chaud, alors que je pourrais écrire dix lignes de Javascript, et simplement recharger la page. Ou les redémarrages du serveur Web ont-ils été éliminés lorsque je ne regardais pas?
kevin cline
5
J'ai écrit des logiciels commerciaux dans une dizaine de langues au cours de ma carrière et j'écris du JavaScript au quotidien. JavaScript est un langage raisonnable étant donné qu'il a été conçu et mis en œuvre sur quelques semaines en 1995. Malgré cela, je ne comprends pas les apologistes JavaScript. Il présente de graves défauts qui obligent les codeurs responsables à éviter complètement certaines fonctionnalités du langage et à en utiliser d'autres d'une manière non prévue à l'origine afin de fournir des fonctionnalités manquantes. Peut-être qu'ils ne l'utilisent pas pour de grands projets? J'ai trouvé que son utilisation pour les grands systèmes avec de nombreux codeurs est relativement difficile.
PeterAllenWebb
1

Oui.

Voici pourquoi. Les applications sont composées de code d'interface utilisateur et de données principales. Le code d'interface utilisateur est exécuté en HTML5 / CSS3 / Javascript. Le code principal peut être propriétaire et exécuté dans la langue de votre choix. De plus, jQTouch et des bibliothèques similaires peuvent être utilisés pour émuler des interfaces utilisateur de type iPhone mais open-source et écrites en Javascript / HTML5 / CSS. jQTouch a montré que si le navigateur permet aux programmeurs JS d'accéder aux événements d'interface utilisateur du périphérique, les programmeurs JS émuleront le style d'interface utilisateur à la mode pour la même plate-forme.

Les programmeurs Javascript seront plus demandés que jamais. Dans une architecture modèle-vue-contrôleur, le modèle et le contrôleur sont dans le back-end, mais le code de vue est mieux écrit dans le navigateur. c'est-à-dire HTML5, Javascript, CSS. Et vous devez écrire du code JS pour accéder aux données principales, en particulier avec du code AJAX lourd.

Les gains de productivité iront tous aux langages interprétés dynamiques. Au fur et à mesure que les processeurs deviennent de plus en plus rapides, la productivité du codage des programmeurs, la productivité des administrateurs système et la productivité des administrateurs d'applications influencent davantage la productivité globale. Vous n'avez tout simplement plus à vous soucier de la vitesse d'exécution de la machine virtuelle ou du compilateur de votre langage de programmation. Vous devez vous soucier davantage maintenant du coût de la mise en service et de la prise en charge de votre application.

La plupart des applications autonomes ne sont pas si bonnes à mon avis. Tout comme il existe peu d'excellentes applications PC autonomes, et les meilleures sont transformées en applications Web. Il est en fait préférable de donner gratuitement l'application client HTML / JS / CSS et de facturer des frais mensuels pour l'accès aux données principales et à la logique métier. Les programmeurs feront mieux de vendre des abonnements que des applications uniques.

BTW a regardé cette vidéo sur l'écriture d'une partie d'une application web autonome sur un navigateur Webkit. C'est intéressant...

Jay Godse
la source
1
Eh bien, une bonne chose à propos des applications "one-shot" est qu'au moins vous n'avez pas à faire le nom d'utilisateur / mot de passe ennuyeux comme vous presque partout sur le Web. L'état est enregistré localement. De plus, beaucoup d'applications côté client n'ont pas vraiment besoin d'un back-end. Pensez aux jeux flash. Et qui dans le monde achète un abonnement aux jeux flash de maman de football? Personne. Et qui dans le monde achète des applications mobiles? toutes les personnes. Malheureusement, je crains que html5 ne tue les applications. C'était bien d'avoir des développeurs indépendants qui faisaient de l'argent pour une fois.
@Schnitzel - Les développeurs indépendants gagneront de l'argent s'ils construisent également un back-end.
Jay Godse
2
-1 pour "Les gains de productivité iront tous aux langages interprétés dynamiques" - c'est très faux à mon avis. Je suis beaucoup plus productif dans des langages typés et compilés statiques comme Scala. Je trouve les erreurs beaucoup plus rapidement, directement dans mon IDE, que je n'en avais avec des langages dynamiques comme PHP, Python et Ruby.
Jonas
Je ne vois vraiment aucun avantage à utiliser PHP / Ruby / Python au lieu de Scala.
Jonas
@Jonas - Votre propre question sur programmers.stackexchange.com/questions/7516/… suggère que les langages dynamiques mènent le peloton de productivité.
Jay Godse
1

Il existe une volonté de remplacer les langages de codage d'application tels que C ++, Java ... par HTML / Javascript. Il y a plusieurs raisons à cela, certaines d'entre elles:

  • Développement plus rapide
  • Main-d'œuvre moins chère
  • La connectivité est intégrée
  • Plus facile à produire quelque chose qui a l'air bien
  • Le texte est accessible aux moteurs d'indexation

Pourtant, peut-être d'autres langues apparaîtront, pour être utilisées en remplacement de JavaScript. Après tout, c'est difficile d'avoir une langue qui peut tout faire correctement, tout en restant une langue de haut niveau! Et JavaScript existe depuis un certain temps et a accumulé quelques lacunes.

JavaScript pourrait très bien finir par être le langage principal pour le client, mais je ne pense pas qu'il puisse ni ne devrait être le seul langage, car, JS étant un langage basé sur des normes et conçu par comité, cela tuera simplement l'innovation à ce niveau (langages de programmation).

Rolf
la source
0

Cela dépend également des compétences de la majorité des développeurs et des outils qu'ils utilisent. Les géants de la technologie que vous mentionnez peuvent piloter une technologie basée sur les outils qu'ils fournissent. Par exemple, les gens disent que HTML5 est un tueur de Flash, mais je pense que c'est trop loin, il y a beaucoup de développeurs Flash et c'est une tâche décourageante de déplacer leurs compétences vers JavaScript. Ce qui arrive finalement, la compétence reste la même mais la sortie devient différente. Dans ce cas, Adobe sort avec un outil de conversion HTML5.

Vous devez également penser aux performances des applications clientes. Lorsque cela est nécessaire, un outil spécifique à la plate-forme sera utilisé. Prend des jeux et des applications iOS par exemple. Je sais que WebGL sort bien, mais je pense que les gens utilisent toujours C pour créer des jeux. Ou ils créeront un langage de jeu qui crée des jeux de haute performance. Apple ne voulait initialement que des applications Web, mais lorsque les développeurs ont vu les merveilles de Cocoa, ils ont sauté dessus pour créer des applications élégantes.

Pour résumer, il y aura toujours de nouveaux outils / langages / technologies qui seront toujours plus cool que les actuels.

Manish
la source
0

Pas tous, mais probablement la plupart. Peut-être que javascript peut devenir assez rapide pour remplacer HashCalc, mais il n'y a pas d'alternative Web à VLC (les navigateurs ne prendront pas en charge tous ces codecs). Je doute que les navigateurs Web me permettent d'accéder à n'importe quel fichier que je veux ou de stocker une liste de fichiers récente (sans «est-ce correct d'accéder» à chaque fois que je clique sur le fichier récent) et je n'aime pas l'idée de distribuer des applications qui sont à 99% des navigateurs Web (plusieurs mb) avec mes 100 ko de code quand il s'agit de cas où le code casse les navigateurs bc ne sont pas rétrocompatibles avec le html ou j'ai besoin d'une variante / légère modification du webkit.

-edit- j'aime aussi les langages statiques plutôt que dynamiques mais je suppose que je peux utiliser un bon langage avec LLVM qui devrait être supporté par le navigateur.


la source
-1

Je pense que nous continuerons dans cette direction jusqu'à ce que le navigateur devienne le système d'exploitation, puis tout recommencera dans le même ordre, mais avec des leçons apprises et des améliorations.

Aaron Anodide
la source