Java и какие задачи можно решать
На обучении я увидел вот такую информацию:
Какие задачи можно решать на Java?
- Разработка мобильных приложений
- Разработка серверных приложений
- Разработка desktop приложений (довольно редко)
- Приложений для встраиваемых устройств
- Разработка веб приложений
Вопросы:
Разработка веб приложений это разве не разработках серверных приложений? Что они хотели этим сказать? Я полный новичок и не понимаю, читаю статью и запутался. И второй вопрос, что за приложения для встраиваемых устройств? Можете привести примеры и рассказать.
Ответы (1 шт):
Встраиваемые -- это для всяких контроллеров, не обязательно микро и не обязательно на embedded. Это могут быть, например мозги для робота, или для беспилотника (как авиа, так и авто), или для большого адронного коллайдера.
Серверные -- это когда клиентские приложения могут обращаться к серверу за информацией или за услугами, например SQL-серверы или веб-сервисы. Человек напрямую с сервером не общается в таком случае, общается через специальные клиентские приложения, и вообще структура может быть сложной, многоуровневой. Выдача сервера в таком случае -- не обязательно HTML, это может быть XML, JSON и вообще что угодно, и общение c сервером не обязательно по HTTP.
Веб-приложения -- это то, что выдает HTML-страницы, пригодные для просмотра человеком через браузер, например stackoverflow или facebook. Также сюда входят всякие корпоративные приложения для внутренних целей, типа документооборот, управление проектами, CRM и т. п., если с ними работают через браузер, без специальных клиентских программ.
Но вся эта терминология не очень четкая и границы не очень чёткие, например, большинство развитых веб-приложений имеют API для мобильных приложений и всяких специализированных программ, типа браузерных плагинов, и в этом смысле их можно назвать и серверными приложениями. К тому-же разные люди могут понимать эти термины по-разному.