Будет ли HTML5 / JS в конечном итоге заменить все клиентские языки? [закрыто]


12

Я просто интересуюсь будущим всего этого. ИМХО, есть 4 силы, которые определяют, куда идут технологии: Microsoft, Apple, Google, Adobe.

Похоже, что в Apple iPhone / iPad iAD теперь можно программировать на HTML5. Значит ли это, что HTML5 в конечном итоге заменит цель-c?

Кроме того, Microsoft теперь сместила акцент с WPF / Silverlight на HTML5, и я предполагаю, что Visual Studio 2011 будет полностью посвящена инструментальной поддержке HTML5. Потому что это то, что делает Microsoft. (Инструменты). Через несколько месяцев IE9 последний крупный браузер будет поддерживать HTML5.

Точно так же Adobe получает широкую поддержку HTML5 и позволяет экспортировать флэш-контент в HTML5 в своих последних инструментах.

И все мы знаем, сколько в постели Google с HTML5. Черт, их последняя операционная система (Chrome OS) - не что иное, как большой толстый веб-браузер.

Приложения для мобильных устройств (например, iPhone, Android, WM7) очень сложно программировать, особенно для множества различных устройств (каждое со своим языком), поэтому я предполагаю, что это не продлится долго. Т.е. HTML5 будет объединяющим языком. Что несколько печально для разработчиков приложений, потому что теперь пользователи смогут бесплатно играть в «крутые» html5-приложения в Интернете, и за них будет сложно взимать плату.

Итак, действительно ли строго типизированные языки обречены, и в будущем, скажем, через 5-10 лет, будет ли программирование на стороне клиента работать только на HTML5? Станем ли мы все программистами на JavaScript? :) Потому что знаки точно указывают таким образом ...


1
Эти прогрессивные сторонники повышения уже должны катиться в своих могилах.
Gio Borje

2
Вы говорите, что преимущества строгой типизации больше не понадобятся?
Аарон Анодид

1
Я думаю, что это будет VS 2012, а не VS 2011.
DeadMG

6
Если это так, мне просто придется убить себя.
Работа

2
Я устал беспокоиться о совместимости браузера. Это чертовски по-детски.
Человек

Ответы:


14

Я думаю, что ошибочно полагать, что HTML5 / JS заменит ВСЕ клиентские языки. Будет ли так много приложений в будущем? Да, возможно. Будут ли все из них? Нет .

Другим важным моментом, который следует отметить, является то, что ландшафт постоянно меняется. HTML5 - это отличная технология, которая обещает решить многие проблемы, с которыми в настоящее время сталкиваются разработчики, пытаясь писать приложения, работающие кроссплатформенно. Конечно, HTML5 / JS может решить многие из этих проблем, но ландшафт изменится, и возникнет новый набор проблем. HTML5 в конечном итоге покажется устаревшим.

Через 10 лет спросите себя, был ли HTML5 / JS решением всех проблем, и я почти гарантирую, что ответ будет отрицательным. Через 20 лет сам вопрос, вероятно, покажется смешным.


+1 Я полностью согласен. Оглядываясь назад в истории, «последнее и величайшее» всегда заменяется новым «последним и величайшим». Это часть того, что так здорово в программировании, оно всегда будет развиваться.
Бет Уайтзел

хотя вещи развиваются с разной скоростью - например, взаимодействие с пользователем компьютера - перфокарты, затем клавиатуры, мыши - я часто задаюсь вопросом, что будет дальше, потому что это может привести к значительному изменению игры в разработке клиентских приложений - речь, 3D - они добавляют - но что-то заменят клавиатура / мышь? Я так думаю - хотя и не уверен, когда.
Аарон Анодид

6

Javascript - очень плохой язык программирования. Перевод со статически типизированных языков программирования, таких как Java с GWT, становится все более распространенным. Javascript может стать таким же объединяющим языком, как и ассемблер - вы можете писать на нем напрямую, но редко это хорошая идея.


1
Не знаю только о статически типизированных языках, но если вы
добавите

8
Я не согласен с вами, что JavaScript это плохой язык, это абсолютно не правильно! :) Как кажется, есть много ленивых программистов, которые много лет знают Java или другие серверные языки, и они не хотят совершенствоваться, изучая новые языки, и говорят, что JavaScript плохой: D Именно поэтому существует так много инструментов и фреймворки для генерации JavaScript с языками на стороне сервера! JavaScript не веб-игрушка, это настоящий язык!
Занго

Я тоже не согласен. Я считаю, что это неуместный комментарий, чтобы сказать такое о JavaScript. Многие профессионалы и успешные продукты не согласятся. Время - это лучший тест, и пока JS отлично справляется с техническими задачами.

Я не могу представить, почему я предпочел бы написать 50 строк Java, надеясь, что мои изменения могут быть заменены в горячем режиме, когда я смогу написать десять строк Javascript и просто перезагрузить страницу. Или перезапуски веб-сервера были устранены, когда я не смотрел?
Кевин Клайн

5
Я написал коммерческое программное обеспечение на дюжине языков за свою карьеру, и я пишу JavaScript ежедневно. JavaScript - разумный язык, учитывая, что он был разработан и реализован за несколько недель в 1995 году. Несмотря на это, я не могу понять апологетов JavaScript. У него есть серьезные недостатки, которые требуют от ответственных кодеров полного исключения определенных языковых функций и использования других способами, которые изначально не предназначались для обеспечения недостающей функциональности. Может быть, они не используют его для больших проектов? Я обнаружил, что использовать его для больших систем со многими кодерами относительно сложно.
PeterAllenWebb

1

Да.

Вот почему Приложения состоят из кода пользовательского интерфейса и внутренних данных. Код пользовательского интерфейса выполняется в HTML5 / CSS3 / Javascript. Внутренний код может быть проприетарным и запускаться на любом языке. Кроме того, jQTouch и аналогичные библиотеки могут использоваться для эмуляции iPhone-подобных интерфейсов, но с открытым исходным кодом и написаны на Javascript / HTML5 / CSS. jQTouch показал, что если браузер предоставляет JS-программистам доступ к событиям пользовательского интерфейса устройства, JS-программисты будут эмулировать любой стиль пользовательского интерфейса, который является модным для той же платформы.

Программисты Javascript будут востребованы как никогда. В архитектуре модель-представление-контроллер модель и контроллер находятся в серверной части, но код представления лучше всего записывать в браузере. т.е. HTML5, Javascript, CSS. И вам нужно написать код JS для доступа к внутренним данным, особенно с тяжелым кодом AJAX.

Повышение производительности все пойдет на динамически интерпретируемые языки. По мере того, как процессоры становятся все быстрее и быстрее, производительность программирования программистов, производительность системных администраторов и администраторов приложений оказывают сильное влияние на общую производительность. Вам просто не нужно беспокоиться о том, как быстро работает виртуальная машина или компилятор вашего языка программирования. Теперь вам нужно больше беспокоиться о том, сколько будет стоить предоставление и поддержка вашего приложения.

На мой взгляд, большинство автономных приложений не так уж хороши. Точно так же, как есть несколько отличных автономных приложений для ПК, и лучшие из них превращаются в веб-приложения. На самом деле лучше раздавать клиентское приложение HTML / JS / CSS бесплатно и взимать ежемесячную плату за доступ к внутренним данным и бизнес-логике. Программисты лучше продают подписки, чем одноразовые приложения.

Кстати, посмотрите это видео, написав часть автономного веб-приложения в браузере Webkit. Это интересно...


1
Что ж, одна приятная вещь в «одноразовых» приложениях заключается в том, что, по крайней мере, вам не нужно делать полное раздражающее имя пользователя / пароль, как вы почти везде в сети. Государство сохраняется локально. Кроме того, многие клиентские приложения не нуждаются в серверной части. Думайте флеш игры. А кто в мире покупает подписку на флеш игры для футбольной мамы? Никто. А кто в мире покупает мобильные приложения? все. К сожалению, боюсь, html5 убьет приложения. Было приятно, что независимые разработчики делали деньги на этот раз.

@Schnitzel - Независимые разработчики будут зарабатывать деньги, если они также создадут серверную часть.
Джей Годсе

2
-1 для «Повышение производительности все пойдет на динамические интерпретируемые языки» - это очень ложно, на мой взгляд. Я гораздо более продуктивен в статических типизированных и скомпилированных языках, таких как Scala. Непосредственно в моей среде IDE ошибки обнаруживаются гораздо быстрее, чем в динамических языках, таких как PHP, Python и Ruby.
Джонас

Я действительно не вижу никакой выгоды от использования PHP / Ruby / Python вместо Scala.
Джонас

@Jonas - Ваш собственный вопрос по адресу programmers.stackexchange.com/questions/7516/… предполагает, что динамические языки опережают производительность.
Джей Годсе

1

Существует желание заменить языки программирования приложений, такие как C ++, Java ... HTML / Javascript. Есть много причин этого, некоторые из них:

  • Ускоренное развитие
  • Дешевле рабочей силы
  • Связь встроена
  • Легче производить что-то, что выглядит хорошо
  • Текст доступен для индексирования движков

Тем не менее, возможно, появятся другие языки, которые будут использоваться в качестве замены JavaScript. В конце концов, трудно иметь язык, который может делать все правильно, оставаясь языком высокого уровня! И JavaScript существует уже некоторое время и накапливает некоторые недостатки.

JavaScript вполне может в конечном итоге стать основным языком для клиентской стороны, но я не думаю, что он может и не должен быть единственным языком, потому что, поскольку JS является языком, основанным на стандартах и ​​разработанным комитетом, это просто убьет инновации на этом уровне (языки программирования).


0

Это также зависит от мастерства большинства разработчиков и инструментов, которые они используют. Технологические гиганты, о которых вы упомянули, могут управлять технологиями на основе предоставляемых ими инструментов. Например, люди говорят, что HTML5 - это убийца Flash, но я чувствую, что слишком далеко, есть много разработчиков Flash, и очень сложно перенести их навыки на JavaScript. Что в итоге происходит, навык остается тем же, но результат становится другим. В этом случае Adobe предлагает инструмент преобразования HTML5.

Также вам стоит задуматься о производительности клиентских приложений. Там, где это необходимо, будет использоваться инструмент для конкретной платформы. Например, игры и приложения для iOS. Я знаю, что WebGL выходит хорошо, но я чувствую, что люди все еще используют C для создания игр. Или они создадут игровой язык, который создаст высокопроизводительные игры. Изначально Apple хотела только веб-приложения, но когда разработчики увидели чудеса Какао, они запрыгнули на него, чтобы создать классные приложения.

Подводя итог, всегда будут новые инструменты / язык / технологии, которые всегда будут круче, чем текущие.


0

Не все, но, вероятно, большинство. Возможно, javascript может стать достаточно быстрым, чтобы заменить HashCalc, но веб-альтернативы VLC нет (браузеры не поддерживают все эти кодеки). Я сомневаюсь, что веб-браузеры позволят мне получить доступ к любому файлу, который я захочу, или сохранить список последних файлов (без «это нормально для доступа» каждый раз, когда я нажимаю на недавний файл), и мне не нравится идея распространения приложений, которые на 99% являются веб-браузерами. (несколько мегабайт) с моим 100-килобайтным кодом, когда дело доходит до случаев, когда разрывы кода браузерами bc не обратно совместимы с html, или мне требуется вариант / небольшая модификация webkit.

- также мне нравятся статические языки, а не динамические, но я предполагаю, что могу использовать хороший язык с LLVM, который должен поддерживаться браузером.


-1

Я думаю, что мы будем продолжать двигаться в этом направлении до тех пор, пока браузер не станет операционной системой, а затем все начнёт повторяться в том же порядке, но с извлеченными уроками и улучшениями.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.