Java и Интернет вещей. Как стать успешным IoT-девелопером? |
||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-12-21 18:48 Интернет вещей (Internet of Things, IoT) как концепция на слуху уже давненько — не первый год он фигурирует в списке трендовых ниш, за которыми будущее. Наряду с big data, AI и рядом других популярных и бурно развивающихся отраслей. Но в последние годы IoT начал активно проникать в нашу повседневную жизнь, а количество разработок в этой сфере постоянно растет, что выражается в появлении все большего числа новых вакансий для IoT-девелоперов. И вот тут-то эта тема становится интересной, потому что большинство IoT-кодеров в качестве основного языка программирования в данной нише используют Java (что неудивительно, но об этом позже). По популярности в среде IoT-программирования Java оставляет другие языки, такие как C, Python и C++, далеко позади.
IoT — из футуристической концепции в повседневную жизнь Сегодняшний материал посвящен применению Java в сфере Интернета вещей, тому, как Java-разработчику повысить свою конкурентоспособность в IoT, а также последним трендам в этой нише. Но для начала следует разобраться в том, почему Java так популярен в IoT среде, а для этого не помешает в общих чертах напомнить читателю о том, что вообще такое этот самый Интернет вещей. Internet of Things — это концепция, в рамках которой множество повседневных приборов и предметов бытовой электроники, от стиральной машины до чайника, компьютеризируются и подключаются к Интернету. Это открывает разные новые возможности: в частности, устройства Интернета вещей позволяют собирать и анализировать огромные объемы новых данных, адаптируя работу приборов под каждого пользователя. Концепция IoT активно воплощается в жизнь, вместе с рядом смежных технологий, таких как автоматизация домов, видеоаналитика и искусственный интеллект. Например, в медицинской сфере ниша IoT набирает популярность, представляя инновационные устройства, которые могут отслеживать состояние пациентов, расположенных в отдаленных локациях. Особенность Интернета вещей состоит в том, что каждое устройство или датчик сбора данных должны быть оснащены встроенным приложением, чтобы осуществлять весь этот функционал, который заложен в основу концепции IoT. И для создания таких вот встроенных приложений программисты предпочитают использовать именно Java. Java и IoT — будто созданы друг для друга На самом деле, изначально Java и создавался именно для этих целей, так что неудивительно, что он так хорошо подходит для создания IoT-приложений. В начале девяностых (разработка языка началась в 1990-м, а первая версия вышла уже в 1996-ом) Java появился как язык для написания приложений для устройств PDA (personal digital assistant), предков современных смартфонов. Позже, за следующие около десятка лет, Java постепенно трансформировался в более универсальную платформу, поскольку оказалось, что этот язык отлично подходит для создания приложений, работающих на множестве современных мобильных устройств. Одна из причин того, почему Java и IoT такая замечательная пара в том, что приложения, написанные на Java, как правило очень нетребовательны к ресурсам. Дело в том, что в девяностых и начале двухтысячных тогдашние устройства располагали ограниченными объемами RAM-памяти и небольшой вычислительной мощностью. Во много раз меньше нынешних. И Java создавался именно для использования в этой ресурсоемкой среде, требующей функциональных приложений при минимальной вычислительной мощности. Эта безусловно достойная восхищения черта сохранилась в нем и по сей день, благодаря чему Java-приложения для IoT обладают очень скромными запросами, обходясь минимальными компьютерными ресурсами и памятью. Эксперты: ключ к успешной разработке для IoT — в гибкости По мере того как дома, машины, офисы, холодильники и кофеварки становятся все более “умными,” то есть по мере роста IoT-инфраструктуры, растет и потребность в разработчиках, которые будут обеспечивать правильную и защищенную работу данных устройств. А это открывает массу возможностей для Java-кодеров, только успевай рассылать резюме. Какие знания и навыки стоит подтянуть тем, кто не желает упускать такую возможность и намерен стать уважаемым и, что конечно важнее, высокооплачиваемым IoT-разработчиком? К сожалению, простого ответа тут нет. “Термин "IoT разработчик” на сегодняшний день трактуется весьма широко. В сфере Интернета вещей в целом есть ряд важных дисциплин, среди которых безопасность, сетевые технологии, системное проектирование, облачное программирование и программирование аппаратных устройств. Поэтому есть смысл стремиться к максимальной универсальности, чтобы быть гибким и брать на себя различные роли в команде разработчиков,” — советует Грег Горман (Greg Gorman), директор проекта IoT Developer Ecosystem в компании IBM. По мнению Карен Панетты (Karen Panetta), профессора электротехники и вычислительной техники в Университете Тафтса, в отличие от других разработчиков, тем, кто работает в сфере IoT, очень полезно иметь хотя бы базовое понимание датчиков и беспроводной связи. “Помимо вычислений, IoT это также мир машиностроения и гражданской инженерии, поскольку датчики собирают физические данные. Быть глубоким “IoT-технологом” очень сложно — нужно интересоваться миром и, в каком-то смысле, быть “человеком эпохи возрождения,” — отметил Брайан Кестер (Bryan Kester), глава по IoT-разработкам в компании Autodesk.Практикуйтесь на Raspberry Pi и других микрокомпьютерах Эллиот Шрок (Elliot Schrock), основатель и главный разработчик компании Thryv, советует кодерам практиковаться, выполняя проекты для устройств Raspberry Pi. “Raspberry Pi —- это очень недорогие, крошечные компьютеры, которые часто используются для тестирования концептуальных проектов IoT. Кстати, это также отличный инструмент, на котором можно научиться спаивать вместе простые схемы и связывать их с программным обеспечением,” — сказал он. С ним согласны и другие эксперты. Суз Хинтон (Suz Hinton), технический евангелист компании Microsoft, также отметила, что практические знания аппаратной части зачастую оказываются очень полезными для IoT-кодеров. “Использование таких устройств, как Tessel 2, Particle Photon или даже скромного Raspberry Pi, помогает разработчикам быстро осваивать аппаратные средства и получать новые необходимые навыки. По сути, одна из основных особенностей написания кода для IoT состоит в том, чтобы научиться писать для очень небольших и более медленных компьютеров,” — считает она. IoT-разработчик должен быть “одержим” новыми технологиями С идеей максимальной универсальности и постоянного изучения нового для того, чтобы стать действительно успешным IoT-девелопером, согласны и другие эксперты. По словам Элая Дау (Eli Dow), ученого-исследователя компании IBM, знания одной платформы и обладания одним специализированным набором навыков здесь недостаточно. “Платформа, под которую вы пишете, может устареть в течение шести месяцев-года. Системы датчиков постоянно меняются, одноплатные компьютеры и другие встраиваемые платформы продолжают развиваться, и вы должны уметь постоянно адаптироваться к изменениям платформ и такому бешеному темпу,” — сказал эксперт. “Успешные IoT-девелоперы должны быть одержимы новыми технологиями, следить за новостями, знать обо всех актуальных трендах в индустрии — что сейчас популярно, что уже не актуально, а что может стать следующим прорывом. Это обеспечивает необходимую основу для освоения данной технологии и способности создавать программный код действительно высокого уровня,” — добавила Эрин Эссекс (Erin Essex), креативный директор компании Webonise. Тренды Если последовать советам экспертов и начать изучать тренды IoT-индустрии, мы убедимся в том, что они знают о чем говорят. Интернет вещей развивается действительно бурно, и активно находит себе применение все в новых и новых сферах. Поговорим о тех из них, где IoT только начинает набирать популярность и которые не приходят на ум первым делом при упоминании Интернета вещей. Бизнес-аналитика и сбор данных Вопреки расхожему мнению, IoT — это не только потребительская электроника. Интернет вещей охватывает практически все сферы бизнеса. Именно поэтому девелоперам важно понимать, как компании могут применять IoT-устройства для сбора данных и их последующего анализа. Типы данных, в зависимости от вида устройства и его датчиков, могут быть самыми разными, от геолокации до сердечного ритма и пищевых предпочтений. Сбор данных с помощью IoT — это определенно один из важных трендов, который сейчас только начинает набирать обороты. Поэтому разработчикам важно понимать как работают процессы, ответственные за получение, обработку и хранение этих данных, а также их последующее использование. Для сбора и аналитики данных разрабатываются специальные системы, разобраться в которых без хотя бы базовых знаний в бизнес-аналитике будет достаточно сложно.Машинное обучение и AI Еще один тренд ближайшего будущего. Хотя на сегодняшний день далеко не все IoT устройства используют машинное обучение, в будущем их число будет постоянно увеличиваться. Машинное обучение — это область применения искусственного интеллекта (AI), включающая в себя предоставление компьютерам доступа к данным, которые они используют для обучения. Поскольку IoT девайсы способны собирать огромное количество данных, их потенциал для машинного обучения просто огромен. Способов применения данной технологии — огромное количество: от простой персонализации, то есть способности устройств подстраиваться под конкретного пользователя, до более глобальных решений типа “умных” городов. Безопасность Безопасность в IoT-сфере — это тренд не новый, но набирающий важность. Поскольку IoT-устройства подключаются к Интернету, а также образуют единую сеть с другими девайсами, их защищенность становится проблемой. Именно безопасность называют одним из основных препятствий на пути массового распространения Интернета вещей, ведь у IoT-девайсов зачастую есть доступ ко множеству данных о повседневной жизни пользователей. Поэтому многие эксперты советуют IoT-кодерам уделять внимание самообразованию в этой сфере. Причем сюда входит не только защита от взломов как таковая, но также такие понятия, как этика данных, конфиденциальность и ответственное отношение к приватной информации. Все это следует учитывать при разработке приложений для IoT, чтобы потом не столкнуться с проблемами и справедливым негодованием конечных юзеров. Выводы Подводя итоги, общие рекомендации для IoT-разработчиков сводятся к известной директиве “учиться, учиться и еще раз учиться”. Интернет вещей — это стремительно набирающая популярность сфера, в которой будет довольно легко найти себе применение квалифицированному Java-разработчику. Более того, будучи все еще нишей относительно малоразвитой, IoT открывает широчайшее поле для самореализации. Но для этого нужно не только “оставаться на переднем крае прогресса,” отслеживая все новости и последние тренды, но и углублять свои практические знания, изучая различные аспекты данной ниши, не ограничиваясь всего лишь программным кодом. Источник: javarush.ru Комментарии: |
|||