В чем основное техническое различие между веб, программированием приложений и мобильным программированием? - PullRequest
3 голосов
/ 08 апреля 2009

Я хочу знать, в чем основное техническое отличие Web (ASP, PHP, Ruby и т. Д.), Прикладное (C, C ++, .NET, Java) и мобильное (J2ME, Objective C) программирование, и которое является самым сложным.

Если кто-то узнает один из них, сможет ли он легко переключиться на один из других?

Ответы [ 4 ]

4 голосов
/ 08 апреля 2009

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

Разница между веб-приложениями и клиентскими приложениями заключается в том, что веб-приложениям не хватает состояния: каждый запрос страницы полностью отделен от любого другого запроса страницы. Только с помощью различных технических решений веб-приложениям удается создать иллюзию того, что пользователь веб-приложения запускает согласованное приложение при переходе от страницы к странице. Например, в ASP.NET DLL-библиотека ASP.NET ISAPI управляет объектом «Сеанс», который извлекает файл cookie сеанса из запроса страницы пользователя, а затем предоставляет его для идентификации данных сеанса, подходящих для обработки запроса.

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

Мобильные веб-приложения - это, по сути, просто веб-приложения с двумя оговорками: размер экрана значительно меньше, а возможности браузера, как правило, менее надежны. Таким образом, вы бы написали мобильное веб-приложение почти так же, как стандартное веб-приложение, но вы не можете рассчитывать на некоторые возможности, которыми вы обычно пользуетесь в полноценном браузере. Кстати, это последнее ограничение быстро исчезает, поскольку мобильные устройства становятся все более мощными.

Мобильный клиент * Для приложений 1016 * требуется среда разработки, стратегия развертывания и т. Д., Характерные для мобильного устройства. Инструменты и методы, используемые при разработке стандартных клиентских приложений, не очень хорошо соответствуют мобильному клиенту. Вместо этого вам нужно будет изучить новые инструменты, элементы управления и методы. Единственным настоящим исключением из этого правила являются инструменты, доступные через .NET. Microsoft попыталась обеспечить как можно больше общности, хотя даже здесь вы обнаружите, что у вас другое мышление и другие ограничения, чем при разработке приложения WinForms.

Надеюсь, это поможет!

2 голосов
/ 08 апреля 2009

Это контекст, в котором работают эти приложения.

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

Мобильные и настольные приложения обычно более тесно связаны с операционной системой, в которой они работают.

0 голосов
/ 08 апреля 2009

Если вы посмотрите на среду программирования, такую ​​как .NET, вы легко сможете переключаться между Web (ASP.NET и Silverlight), Mobile (.NET mobile) и Desktop (.NET и WPF), как языки. все основано на одной базовой структуре. Вы можете писать .NET на разных языках, наиболее распространенными из которых являются VB.NET и C #.

Лично я бы порекомендовал C #, если вы учитесь. Вы найдете больше примеров в Интернете, и это будет также больше похоже на языки, которые вы, возможно, захотите выучить в дальнейшем (JavaScript, Java и т. Д.)

0 голосов
/ 08 апреля 2009

Мобильные приложения могут быть написаны одинаково для настольных приложений, примерно как приложения для Windows, консольные приложения и приложения для браузера (поскольку большинство мобильных платформ поддерживают браузер) Но мобильные версии большинства инструментов более ограничены; и, как правило, это связано с коммуникациями, что часто усложняет развитие, пытаясь сохранить четкость различных типов состояний. И вам обычно нужно быть более чувствительными к тонкостям в коде пользовательского интерфейса.

Между мобильными приложениями и веб-приложениями нет особой дихотомии. Понятия не особенно ортогональны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...