Java и какие задачи можно решать

На обучении я увидел вот такую информацию:
Какие задачи можно решать на Java?

  1. Разработка мобильных приложений
  2. Разработка серверных приложений
  3. Разработка desktop приложений (довольно редко)
  4. Приложений для встраиваемых устройств
  5. Разработка веб приложений

Вопросы:
Разработка веб приложений это разве не разработках серверных приложений? Что они хотели этим сказать? Я полный новичок и не понимаю, читаю статью и запутался. И второй вопрос, что за приложения для встраиваемых устройств? Можете привести примеры и рассказать.


Ответы (1 шт):

Автор решения: m. vokhm

Встраиваемые -- это для всяких контроллеров, не обязательно микро и не обязательно на embedded. Это могут быть, например мозги для робота, или для беспилотника (как авиа, так и авто), или для большого адронного коллайдера.

Серверные -- это когда клиентские приложения могут обращаться к серверу за информацией или за услугами, например SQL-серверы или веб-сервисы. Человек напрямую с сервером не общается в таком случае, общается через специальные клиентские приложения, и вообще структура может быть сложной, многоуровневой. Выдача сервера в таком случае -- не обязательно HTML, это может быть XML, JSON и вообще что угодно, и общение c сервером не обязательно по HTTP.

Веб-приложения -- это то, что выдает HTML-страницы, пригодные для просмотра человеком через браузер, например stackoverflow или facebook. Также сюда входят всякие корпоративные приложения для внутренних целей, типа документооборот, управление проектами, CRM и т. п., если с ними работают через браузер, без специальных клиентских программ.

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

→ Ссылка