Если вы хотите узнать, что пока что будущий 2020 год привнесет в мир программирования, значит эта статья предназначена специально для вас. Я не могу предсказывать будущее, но я могу сделать обоснованные предположения.
«Лучший способ предсказать ваше будущее – создать его».
– Авраам Линкольн
Rust станет мейнстримом
Rust – это язык системного программирования с множеством парадигм, ориентированный на безопасность – особенно безопасную многопоточность. Rust синтаксически похож на C++, но он разработан для обеспечения большей безопасности памяти при сохранении высокой производительности.
За четыре года язык программирования Rust значительно расширился. Я верю, что 2020 год – год, когда Rust официально станет мейнстримом. Что является основным направлением для самоинтерпретации, но я верю, что школы начнут внедрять Rust в свои учебные программы. Это создаст новую волну разработчиков Rust.
По рейтингу StackOverflow за 2019 год, Rust стал самым любимым языком:
Rust зарекомендовал себя как отличный язык с активным сообществом. С Facebook, создающим Libra на Rust, самым большим проектом за всю историю, мы увидим, из чего на самом деле сделан Rust.
Если вы в поисках нового языка для изучения, я настоятельно рекомендую начать с Rust. Если вам интересно узнать больше, я бы начал изучать Rust с прочтения этой книги.
GraphQL продолжает расти
С ростом сложности наших приложений растут и наши потребности в потреблении данных. Я использовал GraphQL много раз и являюсь его большим поклонником. По моему мнению, что GraphQL – лучшее решение для извлечения данных по сравнению с традиционным REST API.
В то время как API REST требуют загрузки с нескольких URL-адресов, API-интерфейсы GraphQL получают все данные, необходимые для вашего приложения, за один запрос.
GraphQL используется командами всех размеров во многих различных средах и языках для поддержки мобильных приложений, веб-сайтов и API-интерфейсов.
Прогрессивные веб-приложения – сила, с которой приходится считаться
Progressive Web Apps (PWA) – это новый подход к созданию приложений, в котором сочетаются лучшие функции Интернета и высочайшие качества мобильных приложений.
Веб-разработчиков гораздо больше, чем разработчиков нативных платформ. Как только крупные компании поймут, что могут использовать своих веб-разработчиков для создания прогрессивных веб-приложений, я подозреваю, что мы увидим огромную волну PWA.
Однако для адаптации крупных компаний потребуется некоторое время, что вполне нормально для технологий. Прогрессивная часть, как правило, будет ориентирована на разработку внешнего интерфейса, поскольку в основном речь идет о взаимодействии с API Web Workers (Native Browser API).
Веб-приложения никуда не денутся. Все больше людей считают, что написание единого кросс-совместимого PWA уменьшает работу и приносит больше денег.
WebAssembly увидит свет
Эффективно и быстро
Машина стека Wasm предназначена для кодирования в двоичном формате с эффективным размером и временем загрузки. WebAssembly стремится работать на собственной скорости, используя преимущества общих аппаратных возможностей, доступных на широком спектре платформ.
Безопасно
WebAssembly описывает безопасную для памяти изолированную среду выполнения, которая может быть даже реализована в существующих виртуальных машинах JavaScript. При внедрении в сети WebAssembly будет применять политики безопасности того же источника и разрешений браузера.
Открыто и отлаживаемо
WebAssembly предназначен для печати в текстовом формате для ручной отладки, тестирования, экспериментов, оптимизации, обучения, преподавания и написания программ. Текстовый формат будет использоваться при просмотре источника модулей Wasm в Интернете.
Часть открытой веб-платформы
WebAssembly предназначен для поддержки веб-версии без проверки версий, функциональности и обратной совместимости. Модули WebAssembly смогут обращаться к контексту JavaScript и выходить из него и получать доступ к функциям браузера через те же веб-API, доступные из JavaScript. WebAssembly также поддерживает не-веб-вложения.
WebAssembly (сокращенно Wasm) – это двоичный формат команд для стековой виртуальной машины. Wasm разработан как переносная цель для компиляции языков высокого уровня, таких как C, C++ и Rust. Wasm также позволяет развертывать в Интернете клиентские и серверные приложения. PWA также могут использовать wasm.
Другими словами, Web Assembly – это способ соединить технологии JavaScript с технологиями более высокого уровня. Подумайте об использовании библиотеки обработки изображений Rust в вашем приложении React. Веб-сборка позволит вам сделать это.
Производительность является ключевым фактором, и с ростом объема данных поддерживать хорошую производительность будет еще сложнее. Именно тогда в игру вступают низкоуровневые библиотеки из C++ или Rust. Оттуда мы увидим, как крупные компании внедряют веб-сборку.
React продолжит восседать на троне
React, безусловно, является самой популярной библиотекой JavaScript для разработки интерфейсов, и на то есть веские причины. Создавать приложения React весело и легко. Команда и сообщество React проделали великолепную работу в том, что касается опыта создания приложений.
Я работал с Vue, Angular и React, и я думаю, что они все фантастические фреймворки для работы. Помните, что цель библиотеки – получить материал, так что сосредоточьтесь не на вкусе, а больше на том, как это сделать. Спорить о том, какая из фреймворков «лучшая», совершенно непродуктивно. Выберите фреймворк и вместо этого направьте всю свою энергию на создание материала.
Всегда ставьте на JavaScript
Можно с уверенностью сказать, что 2010-е годы были десятилетием JavaScript. Мы наблюдали значительный рост JavaScript, и, похоже, он не замедляется.
Разработчики JavaScript подвергаются некоторой критике, так как их называют «ненастоящими разработчиками». JavaScript – это сердце любой крупной технологической компании, такой как Netflix, Facebook, Google и многих других. Поэтому JavaScript как язык так же легитимен, как и любой другой язык программирования. Гордитесь тем, что являетесь разработчиком JavaScript. В конце концов, некоторые из самых крутых и инновационных вещей были созданы сообществом JavaScript.
Почти все сайты в какой-то степени используют JavaScript. Сколько там сайтов? Миллионы!
Никогда не было лучшего времени, чтобы быть разработчиком JavaScript. Зарплаты растут, сообщество как никогда живо, а рынок труда огромен. Если вам интересно изучать JavaScript, книга «Ты не знаешь JS» станет для вас фантастическим чтивом.