На каком компьютере может выполняться веб приложение
Правильные ответы выделены зелёным цветом.
Все ответы: В рамках курса рассматривается широкий спектр протоколов, стандартов и технологий, имеющих непосредственное отношение к разработке web-приложений.
Какие этапы выполнения программы различны для CGI-сценария и консольного приложения?
(2) поддерживает возможность разделения визуальной части и бизнес-логики по разным файлам
(3) поддерживает возможность кэширования всей страницы или её части для увеличения производительности
Какой уровень веб-интеграции позволяет пользователю взаимодействовать с приложением?
Рассмотрение каких вопросов содержит спецификация Java-портлетов?
Каковы достоинства децентрализованности сети Интернет?
(1) легкость наращивания Интернета путем заключения соглашения между двумя ISP
(3) ответственность за работоспособность отдельных сегментов этой сети возлагается на поставщиках услуг Интернета
На каком компьютере может выполняться веб-приложение?
(3) как на компьютере клиента, так и на компьютере сервера
Что возвращает веб-сервер в ответ на запрос клиента, содержащий указание на программу и ее аргументы?
(2) в исполняемом файле должна отсутствовать отладочная информация
(3) компилятор не должен считать, что имеется символ предпроцессора Debug
Какие порталы предназначены для широкой аудитории и носят общий характер?
(3) переменные в JScript не имеют строго фиксированного типа
Какая переменная окружения позволяет определить, с помощью какого метода выполнялась передача параметров CGI-сценарию?
(1) сохранения объекта в долговременную память во время выполнения системы
(2) восстановление состояния объекта, хранимого в долговременной памяти
(3) сохранения объекта в долговременную память и восстановление состояния объекта из долговременной памяти
Какое пространство имен предоставляет классы для настройки web-приложений в соответствии с файлами конфигурации проекта?
(2) для реализации взаимодействия между каждой парой систем
За какие сервисы отвечает слой базовой инфраструктуры корпоративного портала?
(2) за работу интерфейсов для обмена данными с информационными системами бизнес-партнеров
(5) за работу средств управления информационным наполнением
(2) открытые спецификации не могут быть использованы третьими сторонами
(3) открытые спецификации позволяют создавать программно-аппаратные комплексы из продуктов разных производителей
(2) требуют установки Java-расширений, который доступны по умолчанию не во всех браузерах
(3) загружаются медленнее, чем программы, написанные на JavaScript
При использовании какого сценарного языка интерпретатор считывает и исполняет блоки, не читая дальнейший код?
(2) при использовании предварительно компилируемого языка
(2) протокол удаленного вызова процедур с передачей данных в формате XML через TCP-порт 80
(3) программная система, имеющая идентификатор URI, и общедоступные интерфейсы которой определены на языке XML
Какие технические средства входят в состав слоя базовой инфраструктуры корпоративного портала?
Какая часть передаваемого блока данных содержит информацию для контроля целостности этого блока?
На основе чего осуществляется создание интерактивных веб-сайтов при использовании технологии DHTML?
Какие единицы кода в Python могут организовываться в модули?
(1) для сохранения данных веб-страницы в промежутках между обращениями к ней
Какие из указанных разработчиков и интеграторов предлагают инструменты и решения на основе SOA?
(3) клиентский код сценария не может влиять на процесс размещения запроса и результат отправки запроса
Для чего предназначены предопределенные объекты в JavaScript?
(3) для работы с объектами, не связанными непосредственно с HTML-документом
С помощью каких языков могут разрабатываться ISAPI-приложения?
В каком случае инициализируется прямоугольный массив?
(2) string[][] Novelists = new string[3][]; Novelists[0] = new string[] <"Федор", "Михайлович", "Достоевский">; Novelists[1] = new string[] ; Novelists[2] = new string[] ;"Федор",>
(3) int[][] a = new int[3][]; a[0] = new int[4]; a[1] = new int[3]; a[2] = new int[1];
Какой стандарт не позволяет отыскивать веб-сервисы определенного типа без указания наименования компании-разработчика?
Какие структуры данных в JSON являются пронумерованными наборами значений?
(3) для ограничения доступа из локальной сети к внешней
Сколько узлов содержится в указанной структуре: <html> <head> <title>HTML документ</title> </head> </html>
В каком случае фрагмент кода, написанного на языке Perl, не содержит ошибок?
(1) @course = ("lection 1", "lection 2", "lection 3"); print (@course[1]);
(2) @days = (' Sun ',' Mon ',' Tue ',' Wed ',' Thu ',' Fri ',' Sat '); print($days[2]);
(3) @direction = ("left", "right", "top", "bottom"); print (direction[3]);
Какое свойство для всех массивов возвращает значение false ?
Какая технология, основанная на XML, используется для определения типа документа?
Для чего предназначена система управления контентом?
Какой язык используется для разметки документов по стандарту WAP?
При каком способе организации работы клиента клиент переносит все задачи по обработке информации на сервер?
Какой узел имеет ровно один родительский узел в приведенном примере: <html> <head> <title>HTML документ</title> </head> </html>
В какую переменную помещаются данные, прочитанные из стандартного ввода, в языке Perl?
Для управления какими HTML-элементами предназначен элемент HtmlInputButton ?
Какой XML-документ соответствует всем синтаксическим правилам XML?
Для чего в WCMS используются автоматические шаблоны отображения (в HTML или XML формате)?
(1) для задания вида всех документов из одного места
(3) для возможности расширения функциональности существующего сайта
(1) на экране устройства в каждый момент времени отображается только одна карта
(2) переход между картами осуществляется переходом по ссылкам
(3) дек - это минимальный блок данных, который может быть принят клиентом
Какой квантификатор является эквивалентом для квантификатора * ?
Имена каких элементов в языке PHP не чувствительны к регистру?
Что будет выведено на экран при выполнении последовательности команд: string hello = "Hello, World!"; char[] str = hello.ToCharArray(); Console.Write(str.Length + "\n" + str.Rank);
Какие утверждения верны и для серверных элементов управления HTML, и для элементов управления веб-сервера?
(2) элементы предполагают добавление атрибута runat="server"
(3) элементы могут не соответствовать конкретным элементам HTML
Какие WCMS-системы обрабатывают все содержимое путем применением шаблонов перед публикацией веб-страниц?
Чему будет равно значение переменной n после выполнения команды n = "20" + 5 ?
Какой тип в языке PHP имеют ссылки на внешние ресурсы?
В каких случаях на экран будет выведена одинаковая строка?
(1) string filepath = @"C:\ProgramFiles"; Console.WriteLine(filepath);
(2) string filepath = "C:\ProgramFiles"; Console.WriteLine(filepath);
(3) string filepath = "C:\\ProgramFiles"; Console.WriteLine(filepath);
(4) StringBuilder filepath = new StringBuilder("C:"); StringBuilder filepath2 = filepath.Append("\\ProgramFiles"); Console.WriteLine(filepath);
Какой атрибут указывает на элемент, содержимое которого проверяется при валидации <form runat="server"> <asp:TextBox runat="server" Width="123px"></asp:TextBox> <br /> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Not valid e-mail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" > </asp:RegularExpressionValidator> </form> ?
В этом разделе перечислены требования к оборудованию и программному обеспечению для клиентского приложения на основе модели и приложения для мобильных устройств.
Требования к оборудованию для веб-приложения
В следующей таблице перечислены минимальные и рекомендуемые требования к оборудованию для веб-приложения.
Компонент | Минимальная конфигурация | Рекомендуемая конфигурация |
---|---|---|
Процессор | x86- или x64-разрядный двухъядерный процессор с тактовой частотой 1,9 ГГц, с набором инструкций SSE2 | x64-разрядный двухъядерный процессор с тактовой частотой 3,3 ГГц и выше, с набором инструкций SSE2 |
Память | ОЗУ объемом 2 Гб | ОЗУ объемом 4 Гб и более |
Дисплей | Super VGA с разрешением 1024 x 768 | Super VGA с разрешением 1024 x 768 |
При запуске приложений на основе модели на компьютере, не соответствующем рекомендуемым требованиям, производительность работы может оказаться недостаточной. Дополнительно удовлетворительную производительность можно получить, выполнив системы, которые используют аппаратную конфигурацию, отличную от систем, опубликованных здесь. Например, система с современным четырехъядерным процессором, более низкой тактовой частоты и большей ОЗУ.
Требования к сети
Приложения на основе модели предназначены для оптимальной работы в сетях со следующими элементами:
- Пропускная способность более 50 КБ/с (400 КБ/с)
- Задержка менее 150 мс
Обратите внимание, что эти значения являются рекомендованными и не гарантируют удовлетворительную производительность. Рекомендуемые значения актуальны для систем, в которых используются готовые формы без пользовательской настройки. Если в готовые формы внесены значительные изменения, рекомендуется проверить реагирование формы, чтобы оценить потребности в пропускной способности. Дополнительные сведения: Проверка пропускной способности и емкости сети для клиентов
Поддерживаемые веб-браузеры
Веб-приложение может выполняться в любом из следующих веб-браузеров, запущенных в указанных операционных системах:
Microsoft Edge (последняя открыто выпущенная версия) работает в Windows 10, Window 8.1, Windows 8, Windows 7
Mozilla Firefox (последняя публично выпущенная версия) работает в Windows 10, Windows 8.1, Windows 8 или Windows 7
- Google Chrome (последняя открыто выпущенная версия) работает в Windows 10, Windows 8.1, Windows 8, Windows 7
- Google Chrome (последняя общедоступная версия), работающая на двух последних публичных версиях Mac OS
Apple Safari (последняя общедоступная версия), работающая на двух последних публичных версиях Mac OS или на Apple iPad
Чтобы найти последний выпуск этих веб-браузеров, посетите веб-сайт производителя программного обеспечения.
- Использование подключаемых модулей или других расширений сторонних разработчиков в браузере может увеличить время загрузки на страницах со списками данных.
- Версии Mozilla Firefox ESR (выпуск расширенной поддержки) не поддерживаются.
Поддержка для устройств Microsoft Internet Explorer и устаревшего Microsoft Edge
Поддержка Internet Explorer и устаревшего Microsoft Edge завершена. Мы рекомендуем вам перейти на Microsoft Edge (на основе Хром). См. Окончание поддержки для Internet Explorer для получения дополнительных сведений о прекращении поддержки для Internet Explorer и устаревшим Microsoft Edge с приложениями на основе модели.
Поддержка старых версий браузеров
Вы можете избежать этого, перейдя в браузер более новой версии:
- Microsoft Edge (на основе Хром) версии 83 или выше
- Chrome версии 83 или выше
- Firefox версии 76 или более поздней
Поддерживаемые версии Office
Чтобы использовать приложения на основе моделей и приложения Customer Engagement (например, Dynamics 365 Sales и Customer Service) с функциями интеграции Microsoft Office, такими как экспорт в Excel и объединение, у вас должна быть одна из следующих версий Microsoft Office на компьютере, на котором запущено веб-приложение:
- Microsoft 365
- Office 2016
- Office 2013
- Office 2010
Для полной интеграции компонента Microsoft 365 с Dynamics 365 и Customer Engagement (on-premises) потребуется Microsoft 365 корпоративный E3 или более поздняя версия. Для работы функций вызова и конференций PSTN в Skype для бизнеса требуется Microsoft 365 корпоративный E5. Другие планы Microsoft 365 не поддерживаются. Дополнительные сведения о лицензировании и ценообразовании см. в разделе:
Печать отчетов
Для печати отчетов необходим элемент управления Microsoft ActiveX службы отчетов. При попытке распечатать отчет с неустановленным элементом управления отобразится запрос на его установку. Пакет установщика называется RSClientPrint.cab и находится на сервере Службы SQL Server Reporting Services в папке <drive>:\Program files\Microsoft SQL Server\<MSSQL>\Reporting Services\ReportServer\bin.
Требование безопасности транспортного уровня (TLS)
Веб-браузеры и другие клиентские приложения, использующие версии протокола Transport Layer Security (TLS) более ранние,ч ем TLS 1.2, не смогут подключиться к своим средам Dynamics 365 (online) и Центру администрирования.
Для получения дополнительной информации см. эту запись блога: Поддержка TLS 1.2 в Microsoft
Как правило, веб-приложение - приложение , в котором клиентом выступает браузер , а сервером - веб-сервер .
Результатом работы веб-приложения является веб-страница , отображаемая в окне браузера. При этом само веб-приложение может выполняться как на компьютере клиента, так и на компьютере сервера.
Рассмотрим подробнее обе схемы.
Программы, выполняющиеся на клиент-машине
Одним из типов программ, предназначенных для выполнения на клиент-машине, являются сценарии, например, JavaScript (VBScript) . Исходный текст сценария представляет собой часть веб-страницы, поэтому сценарий JavaScript передается клиенту вместе с документом, в состав которого он входит. Обрабатывая HTML -документ, браузер обнаруживает исходный текст сценария и запускает его на выполнение.
Ко всем программам, которые передаются с сервера на клиент-машины и запускаются на выполнение, предъявляется одно общее требование: эти программы должны быть лишены возможности обращаться к ресурсам компьютера, на котором они выполняются. Такое требование вполне обосновано. Ведь передача по сети и запуск Java -апплетов и JavaScript -сценариев происходит автоматически без участия пользователя, поэтому работа этих программ должна быть абсолютно безопасной для компьютера Другими словами, языки, предназначенные для создания программ, выполняющихся на клиент-машине, должны быть абсолютно непригодны для написания вирусов и подобных программ.
Программы, выполняющиеся на сервере
Код программы, работающей на сервере, не передается клиенту. При получении от клиента специального запроса, предполагающего выполнение такой программы, сервер запускает ее и передает параметры, входящие в состав запроса. Средства для генерации подобного запроса обычно входят в состав HTML -документа.
Рис. 5.1. Взаимодействие клиента с программой, выполняющейся на сервере
Насыщенные интернет-приложения
Насыщенное интернет-приложение ( Rich Internet application ) - еще один подход, который заключается в использовании Adobe Flash или Java-апплетов для полной или частичной реализации пользовательского интерфейса, поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов ).
Возникновение данного подхода обусловлено тем, что в рамках веб-приложений с "тонким" клиентом взаимодействие пользователя с приложением реализуется в существенной степени через сервер, что требует отправки данных на сервер, получение ответа от сервера и перезагрузку страницы на стороне клиента.
При использовании Java-апплетов в состав HTML -документа включается специальный дескриптор, описывающий расположение файла, содержащего код апплета, на сервере. После того как клиент получает HTML -код документа, включающего апплет, он генерирует дополнительный запрос серверу. После того как сервер пересылает клиенту код апплета, сам апплет запускается на выполнение. Взаимодействие между клиентом и сервером при получении апплета показано на рис.5.2
При использовании насыщенных интернет-приложений приходится сталкиваться со следующими проблемами:
- необходимость обеспечения безопасной среды выполнения ("песочница");
- для исполнения кода должно быть разрешено исполнение сценариев;
- потеря в производительности (т.к. выполяется на клиентской стороне);
- требуется много времени на загрузку;
Для разработки насыщенных интернет-приложений используются пакеты Adobe Flash , JavaFX , Microsoft Silverlight и другие.
Введение в JScript
JavaScript - интерпретируемый язык программирования, стандартизированный международной организацией ECMA в спецификации ECMA-262 . Языки JavaScript, JScript и ActionScript являются расширением стандарта ECMA-262 .
Название " ECMAScript " явилось фактически компромиссом между организациями, вовлеченными в процесс стандартизации, в частности Netscape и Microsoft . Хотя JavaScript и JScript стремились к совместимости с ECMAScript , они имеют ряд дополнительных возможностей не предусмотренных спецификацией ECMA .
Синтаксис JScript во многом аналогичен языку JavaScript , однако, помимо добавления клиентских скриптов на веб-страницы и некоторых других функций, JScript может использоваться и для других целей, например:
- автоматизация администрирования систем Microsoft Windows ;
- создание страниц ASP .
JScript - интерпретируемый, объектно-ориентированный язык. Хотя он имеет существенно меньшее количество возможностей, чем такие объектно-ориентированные языки как C++ и Java .
Возможности языка существенно ограничены:
- язык не позволяет разрабатывать самостоятельные приложения;
- сценарии на JScript могут выполняться только при помощи интерпретатора, в частности веб-браузером.
- JScript - язык без строгого контроля типов . Поэтому не требуется объявлять тип переменных явно. Кроме того, во многих случаях JScript исполняет преобразования автоматически, когда они необходимы. Например, при сложении строки и числа, число будет преобразовано в строку.
Краткая характеристика VBScript
Visual Basic Scripting Edition (обычно просто VBScript ) - сценарный язык программирования, интерпретируемый компонентом Windows Script Host . Он широко используется при создании скриптов в операционных системах семейства Microsoft Windows .
Сценарии на языке VBScript чаще всего используются в следующих областях, использующих программные продукты Microsoft :
- автоматизация администрирования систем Windows ;
- серверный программный код в страницах ASP ;
- клиентские сценарии в браузере Internet Explorer .
Java-апплеты
Java-апплет - это программа, написанная на языке Java и откомпилированная в байт-код. Выполняется в браузере с использованием виртуальной Java -машины ( JVM ). Апплеты используются для предоставления интерактивных возможностей веб-приложений, которые не возможны в HTML . Так как байт-код Java платформо-независим, то Java -апплеты могут выполняться браузерами на многих операционных платформах.
Java - сервлеты являются серверными приложениями, но они отличаются от апплетов языком, функциями и другими характеристиками.
Предназначены Java -апплеты для выполнения в безопасной среде с целью предотвращения их доступа к локальным ресурсам клиентского компьютера.
Код апплета загружается с веб-сервера, и браузер
- либо вставляет апплет в веб-страницу;
- либо открывает отдельное окно с собственным пользовательским интерфейсом апплета.
Апплет может быть внедрен в веб-страницу с помощью использования HTML тега <applet> , или (что рекомендуется) тега <object> .
Можно назвать следующие преимущества Java -апплетов:
- работают практически на большинстве операционных платформ;
- поддерживаются большинством браузеров;
- кэшируются в большинстве браузеров, что существенно ускоряет их загрузку при возвращении на веб-страницу;
- после первого запуска апплета, когда Java-машина уже выполняется и быстро запускается, выполнение апплетов происходит существенно быстрее;
- загружаются со скоростью сопоставимой с програмами на других компилируемых языках, например C++ , но во много раз быстрее чем на JavaScript .
При этом у Java -апплетов имеются и недостатки:
- требуется установка Java -расширения, которые доступны по умолчанию не во всех браузерах;
- проблемы реализации Java -расширений для 64-разрядных процессоров;
- не могут запускаться до первой загрузки виртуальной Java-машины, что может занимать значительное время;
- разработка пользовательского интерфейса с использованием апплетов является более сложной задачей по сравнению с HTML ;
- не имеют прямого доступа к локальным ресурсам клиентского компьютера;
- некоторые апплеты привязаны к использованию определенной среды времени выполнения Java ( JRE ) .
ActionScript - общая характеристика
ActionScript - объектно-ориентированный язык программирования, один из диалектов EcmaScript , который добавляет интерактивность, обработку данных и многое другое в содержимое Flash -приложений. ActionScript исполняется виртуальной машиной ( ActionScript Virtual Machine ), которая является составной частью приложения Flash Player . ActionScript компилируется в байткод, который включается в SWF -файл.
SWF -файлы исполняются Flash Player . Сам Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение. Во втором случае возможно создание исполняемых exe -файлов, когда swf -файл включается во Flash Player .
С помощью ActionScript можно создавать интерактивные мультимедиа-приложения, игры, веб-сайты и многое другое.
Microsoft Silverlight и XAML
Microsoft Silverlight представляет браузеру внутреннюю модель DOM , управляемую из JavaScript кода. Поскольку язык XAML основан на XML , то документ, определяющий загружаемый клиенту пользовательский интерфейс - текстовый и потому вполне пригоден для индексирования поисковыми системами. Используя модель DOM, JavaScript может динамически обновлять содержимое Silverlight , аналогично DHTML .
Также можно вызывать методы управления презентацией (запуска анимации или приостановки воспроизведения видео, например).
Silverlight -приложение начинается с вызова объекта Silverlight из HTML страницы, загружающего XAML файл. XAML файл содержит объект Canvas , выступающий подложкой для других элементов. Объекты XAML способны генерировать события, перехватываемые из JavaScript .
XAML , используемый в Silverlight , отличается от XAML в WPF . В данном случае XAML - это подмножество, ориентированное на возможности Веб-приложений.
Находясь на стыке графического дизайна и программирования, это язык позволяет организовать новые способы совместной работы, когда дизайнеры реализуют разметку, а не работают над статичными снимками экрана.
В XAML все UI описываются с помощью элементов XML . Корнем всех XAML -документов Silverlight является элемент-контейнер, такой как Canvas (Холст), определяющий область, в которой будут отрисованы элементы UI . При построении Silverlight -приложения корневой элемент Canvas будет содержать объявления пространств имен XML , необходимых Silverlight. XAML включает основные четыре категории элементов: панели, элементы управления, элементы, связанные с документом и графические фигуры.
Понятие о DOM
DOM ( Document Object Model ) - объектная модель документа. Это независящий от платформы и языка программный интерфейс, позволяющий программам получать доступ к содержимому документов, а также изменять содержимое, структуру и вид документов.
В рамках DOM любой документ представляется в виде дерева узлов. Каждый узел представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы между собой находятся в отношении "родитель-потомок".
Изначально различные браузеры имели собственные модели DOM , не совместимые с остальными. Для того, чтобы обеспечить взаимную и обратную совместимость, консорциум W3C классифицировал эту модель по уровням, для каждого из которых была создана своя спецификация. Все эти спецификации объединены в общую группу, носящую название W3C DOM :
- Уровень 0. Включает в себя все специфические модели DOM , которые существовали до появления Уровня 1, например document.images, document.forms . Эти модели формально не являются спецификациями DOM , опубликованными консорциумом W3C , а скорее отражают то, что существовало до начала процесса стандартизации.
- Уровень 1. Базовые функциональные возможности DOM (HTML и XML) в документах, такие как получение дерева узлов документа, возможность изменять и добавлять данные.
- Уровень 2. Поддержка пространства имён XML, filtered views и событий.
- Уровень 3. Состоит из шести различных спецификаций:
- DOM Level 3 Core;
- DOM Level 3 Load and Save;
- DOM Level 3 XPath ;
- DOM Level 3 Views and Formatting;
- Level 3 Requirements;
- DOM Level 3 Validation .
Текущим уровнем спецификаций DOM является Уровень 2, но, тем не менее, некоторые части спецификаций Уровня 3 являются рекомендуемыми W3C .
DHTML
Динамический HTML или DHTML представляет собой набор технологий, которые совместно позволяют создавать интерактивные веб-сайты на основе статического языка разметки ( HTML ), языка создания клиентских сценариев ( JavaScript ), языка описания представления документа ( CSS ) и документной объектной модели ( DOM ).
DHTML позволяет сценарным языкам изменять переменные языка описания представления документа, таким образом, изменяя вид и поведение прежде статического содержимого HTML документа уже после полной загрузки документа и в процессе просмотра его пользователем. Таким образом, динамичность, привносимая DHTML , проявляет себя в процессе просмотра страницы, но не имеет никакого отношения к генерации содержимого страницы при каждой ее загрузке.
В противоположность DHTML , динамически генерируемая страница - более широкое понятие, подразумевающее, например генерацию содержимого веб-страницы индивидуально для каждого пользователя. Это достигается созданием страниц с помощью клиентских или серверных (например, на PHP или Perl ) сценариев.
Сегодня поговорим об отличиях десктопных и веб-приложений. Не обещаем, что сможем быть полностью непредвзятыми, но постараемся честно рассмотреть плюсы и минусы.
Итак, веб-приложение работает через браузер, используя его как среду выполнения, десктопное— устанавливается, запускается и работает локально. Сравним их по основным характеристикам.
Веб-приложение не требует установки, все обновления происходят на сервере, доставляются пользователям сразу — достаточно просто перезагрузить страницу или выйти, а потом снова зайти в аккаунт. Но иногда для его работы нужно установить дополнительные библиотеки или использовать защищенные сетевые протоколы.
Десктопное нужно устанавливать на компьютере или мобильном устройстве, обновлять каждый раз, как выходит новая версия. Несмотря на то, что чаще всего процесс автоматизирован — все равно это занимает время пользователей и ресурсы устройств. Дополнительно придется отслеживать версии на каждом компьютере, смартфоне и планшете.
Веб-приложение публикуется на локальном или облачном сервере, там же происходит процесс обновления. При этом сервер нужен в любом случае, даже если решение совсем простое. Ведь кроме фронтенда, с которым пользователи будут работать через браузер, нужно где-то размещать бэкенд.
Десктопное придется устанавливать вручную на каждом устройстве. В компании, где много рабочих мест, это может занять достаточно много времени. Плюс в том, что не обязательно выбирать сервер или искать ресурсы для публикации, если речь не идет о клиент-серверном решении.
Работа веб-приложения зависит не только от того, насколько грамотно оно разработано и характеристик пользовательского устройства, но также от скорости интернет-соединения, работоспособности удаленного сервера.
Десктопное работает автономно, поэтому главное — качество кода и стабильность оборудования, на котором этот код выполняется. Но если связь с сервером необходима — то возникают те же проблемы, что у «конкурента».
Веб-приложение доступно из любой точки мира, с любого устройства, а пользовательские файлы всегда будут под рукой. Но только если есть интернет-соединение или реализована возможность работы офлайн и загрузки-выгрузки данных.
Десктопное доступно всегда — но только с устройства, на котором оно установлено. Чтобы работать с разных устройств, его придется установить на каждом, а также придумать, где хранить файлы, чтобы всегда иметь к ним доступ.
Веб-приложение одинаково хорошо будет работать на любом устройстве, будь то стационарный компьютер, ноутбук, планшет или смартфон — ведь оно практически не зависит от «железа» или операционной системы. Главное — подходящий браузер. Как правило, для работы большинства веб-клиентов подходят Google Chrome, Mozilla Firefox, Safari от Apple или Windows-браузер (Microsoft Edge / Internet Explorer).
Десктопное зависит от операционной системы, процессора, видеокарты, ряда других параметров. Приходится учитывать нюансы каждой среды (в том числе при «отлове» ошибок), писать код с учетом возможных вариантов, нанимать отдельных разработчиков или даже целые команды для версий под разные ОС.
Веб-приложение полностью зависит от браузера и технологий его работы. Поэтому есть ряд ограничений, например — в доступе к аппаратному обеспечению вашего устройства. Это и некоторые другие ограничения обойти невозможно (во всяком случае, сейчас). Но целый ряд задач можно решить по принципу «что нельзя переписать, можно надстраивать или расширять». Редакторы документов, изображений, аудио, видео, 3D графики; системы управления проектами; хранилища файлов; no-code конструкторы — успешно работают в браузерах. Инструменты быстрой интеграции сервисов, а также интерфейсные библиотеки еще больше расширяют существующие возможности.
Десктопное позволяет реализовать буквально любые функции — в этом оно однозначно превосходит web. Во всяком случае, полноценного онлайн аналога Photoshop или Sony Vegas еще никто не разработал. Системные утилиты — определенно сфера десктопной разработки. Как и программы, которые должны долго работать в фоновом режиме — например, чаты или торрент-клиенты — через браузер с ними просто неудобно будет работать. Также такое ПО чаще используется для специфических проектов, с нестандартными интерфейсами или функциями. Поэтому web разработка пока не представляет опасности для desktop программистов— эти технологии будут развиваться параллельно, просто под разные задачи.
По поводу скорости работы все не так однозначно, как может показаться. Несмотря на то, что браузерный клиент постоянно обменивается данными с сервером, быстродействие будет во многом будет зависеть от того, насколько грамотно он спроектирован, «чистоты» кода, возможностей оборудования, стабильности канала связи. Разница в быстродействии, которая очевидна при тестировании, зачастую незаметна для пользователей.
Веб-приложение, разработанное с использованием современных протоколов и средств защиты, способно полноценно обеспечивать сохранность данных. Однако на некоторые моменты разработчики не могут повлиять: браузер, облачный сервер, канал связи — могут повысить уровень безопасности за счет дополнительных средств проверки, но также снизить его за счет своих уязвимостей. Несомненный плюс для пользователей: такое ПО проще контролировать. Ограничения среды снижают вероятность, что оно скрыто получит доступ к файлам или запустит какой-либо процесс.
Десктопное настраивается более гибко, а значит — теоретически при его разработке можно предусмотреть все потенциальные уязвимости. На практике — вряд ли. Впрочем, сделать его полностью безопасным все же можно. Но только если устройство, на котором оно установлено, не будет никуда подключаться, даже к защищенной локальной сети. В противном случае — риск все равно будет.
Однозначно сказать, что безопаснее — сложно (если вообще возможно). На это влияют много факторов, прежде всего — человеческий. А ведь именно в защите от человеческого фактора, в различных его проявлениях, заключается смысл всех мер безопасности.
Но очевидно, что доверие к десктопному ПО выше. Некоторые организации принципиально не соглашаются работать в браузерах, многие пользователи все еще относятся к ним настороженно. Однако ситуация меняется — с развитием технологий растет лояльность людей к ним.
Возможности браузерной разработки огромны, ее потенциал раскрыт далеко не полностью. Технологии развиваются, рынок ИТ растет, предлагая все новые приложения — при прочих равных пользователи будут выбирать web просто потому, что это удобнее. Если говорить о решениях для корпоративных клиентов, то тут браузерные приложения незаменимы. Они гибкие, универсальные, не требуют предварительной подготовки среды, позволяют сэкономить финансы компании, аппаратные ресурсы, время сотрудников.
Но рассмотрим другое мнение. Некоторые разработчики считают, что перспективы далеко не безоблачные. Слишком несовершенны технологии работы браузеров, слишком много некачественного ПО уже «накодили». Поэтому пользователи браузерных решений будут возвращаться обратно к десктопным. Такая тенденция будет продолжаться, пока разработчики браузеров массово используют Java Script. Только когда появится реальная альтернатива — можно будет делать прогнозы на будущее.
Веб-приложения уже сейчас подходят для решения многих задач — как бизнеса, так и обычных пользователей. Если вы решили разработать свое — используйте no-code платформу AppMaster.io.
Готовые блоки кода и визуальные инструменты для работы с ними помогут вам создать готовое веб-приложение и его серверную часть гораздо проще и быстрее, чем методы классического программирования!
Пользовательский интерфейс в Dreamweaver СС и более поздних версиях стал проще. В результате этого некоторые функции, описанные в этой статье, могут отсутствовать в Dreamweaver CC и более поздних версиях. Дополнительные сведения см. в этой статье.
Веб-приложение представляет собой веб-сайт, на котором размещены страницы с частично либо полностью несформированным содержимым. Окончательное содержимое формируется только после того, как посетитель сайта запросит страницу с веб-сервера. В связи с тем что окончательное содержимое страницы зависит от запроса, созданного на основе действий посетителя, такая страница называется динамической.
Спектр использования веб-приложений очень широк. В данном разделе рассматриваются общие вопросы использования веб-приложений, а также приводится пример простого веб-приложения.
Использование веб-приложений приносит определенную пользу как посетителям веб-сайтов, так и их разработчикам.
Веб-приложения позволяют посетителям быстро и легко находить требуемую информацию на веб-сайтах с большим объемом информации.
Веб-приложения позволяют собирать, сохранять и анализировать данные, полученные от посетителей сайта.
Веб-приложение может использоваться для обновления веб-сайтов с периодически меняющимся содержимым.
Проблема состоит в том, что программа оздоровления стала очень популярной. В данный момент количество участников этой программы возросло до такой степени, что в конце месяца Сергей не успевает обрабатывать всю приходящую к нему электронную почту. Поэтому он обратился к Светлане с вопросом о возможности решения данной проблемы с помощью веб-технологий.
В ответ на это Светлана предложила создать веб-приложение, которое будет решать следующие задачи.
Данные о своих спортивных достижениях сотрудники будут вносить в простую HTML-форму.
Полученные данные будут сохраняться в базе данных.
Начисление баллов будет выполняться на основе полученных данных.
Каждый сотрудник может получить данные о своих результатах.
В конце каждого месяца Сергей имеет возможность получить все итоговые результаты.
В кратчайшие сроки Светлана создала и запустила требуемое приложение, поскольку Dreamweaver имеет все необходимые инструменты для быстрого и простого создания такого рода приложений.
Любое веб-приложение представляет собой набор статических и динамических веб-страниц. Статическая веб-страница — это страница, которая всегда отображается перед пользователем в неизменном виде. Веб-сервер отправляет страницу по запросу веб-браузера без каких-либо изменений. В противоположность этому, сервер вносит изменения в динамическую веб-страницу перед отправкой ее браузеру. По причине того что страница меняется, она называется динамической.
Например, можно создать страницу, на которой будут отображены результаты программы оздоровления. При этом некоторая информация (например, имя сотрудника и его результаты) будет определяться в момент запроса страницы сотрудником.
В следующем разделе более подробно рассматриваются вопросы работы веб-приложений.
Статический веб-сайт содержит набор соответствующих HTML-страниц и файлов, размещенных на компьютере, на котором установлен веб-сервер.
Веб-сервер — это программное обеспечение, которое предоставляет веб-страницы в ответ на запросы веб-браузеров. Обычно запрос страницы создается при щелчке ссылки на веб-странице, выборе закладки в браузере либо вводе URL-адреса в адресной строке браузера.
Окончательное содержимое статической веб-страницы определяется разработчиком и остается неизменным в процессе запроса страницы. Пример:
Весь HTML-код создается разработчиком до того момента, когда страница будет размещена на сервере. Поскольку HTML-код не меняется после размещения страницы на сервере, данная страница называется статической.
Если подходить строго, «статическая» страница может на самом деле таковой не являться. Например, замещающее изображение либо Flash-содержимое (в виде SWF-файла) позволяет «оживить» статическую страницу. Однако в данном контексте страница является статической, поскольку отсылается браузеру без изменений.
Когда веб-сервер получает запрос на выдачу статической страницы, то, после анализа запроса, сервер находит нужную страницу и отправляет ее браузеру, как показано ниже.
Обработка статической веб-страницыA. Веб-браузер запрашивает статическую страницу. B. Веб-сервер находит страницу. C. Веб-сервер отправляет страницу запросившему ее браузеру.
В случае веб-приложений некоторые участки кода страницы отсутствуют до момента запроса страницы посетителем. Отсутствующий код формируется с помощью некоторого механизма, и только после этого страница может быть отправлена браузеру. Данный механизм формирования кода рассматривается в следующем разделе.
Когда веб-сервер получает запрос на выдачу статической веб-страницы, он отправляет страницу непосредственно браузеру. Однако, когда запрашивается динамическая страница, действия веб-сервера не столь однозначны. Сервер передает страницу специальной программе, которая и формирует окончательную страницу. Такая программа называется сервером приложений.
Сервер приложений выполняет чтение кода, находящегося на странице, формирует окончательную страницу в соответствии с прочитанным кодом, а затем удаляет его из страницы. В результате всех этих операций получается статическая страница, которая передается веб-серверу, который в свою очередь отправляет ее клиентскому браузеру. Все страницы, которые получает браузер, содержат только HTML-код. Схематическое изображение процесса:
Обработка динамических страницA. Веб-браузер запрашивает динамическую страницу. B. Веб-сервер находит страницу и передает ее серверу приложений. C. Сервер приложений просматривает страницу на наличие инструкций и выполняет ее создание. D. Сервер приложений возвращает подготовленную страницу на веб-сервер. E. Веб-сервер отправляет подготовленную страницу запросившему ее браузеру.
Хранение содержимого в базе данных позволяет отделить оформление веб-сайта от содержимого, которое будут видеть пользователи. Вместо того чтобы создавать все страницы в виде отдельных HTML-файлов, пишутся только шаблоны страниц для каждого вида представляемой информации. Затем содержимое загружается в базу данных, после чего веб-сайт будет извлекать его при запросах пользователей. Кроме того, можно обновить информацию в одном источнике и продублировать это изменение на всем веб-сайте без редактирования каждой страницы вручную. Adobe Dreamweaver позволяет создавать веб-формы для вставки, обновления и удаления информации в базе данных.
Программная инструкция, предназначенная для получения данных из базы данных, называется запросом к базе данных. Запрос состоит из критериев поиска, выраженных с помощью языка баз данных, называемого SQL (язык структурированных запросов). Текст SQL-запроса располагается в сценариях страниц на стороне сервера либо в тегах.
Сервер приложений не может непосредственно получить данные из базы, поскольку базы данных используют специфические форматы хранения данных, в результате чего попытка получения таких данных будет напоминать попытку открытия документа Microsoft Word с помощью текстового редактора Notepad или BBEdit. Поэтому для подключения к базе данных сервер приложений использует посредника — драйвер базы данных. Драйвер базы данных представляет собой программный модуль, с помощью которого устанавливается взаимодействие между сервером приложений и базой данных.
После того как драйвер установит соединение, выполняется запрос к базе, в результате чего формируется набор записей. Набор записей представляет собой множество данных, полученных из одной или нескольких таблиц базы данных. Набор записей возвращается серверу приложений, который использует полученные данные для формирования страницы.
Ниже приводится пример простого запроса к базе данных на языке SQL.
Следующий пример демонстрирует процесс выполнения запроса к базе данных и возвращение полученных данных браузеру.
Доступ к базе данныхA. Веб-браузер запрашивает динамическую страницу. B. Веб-сервер находит страницу и передает ее серверу приложений. C. Сервер приложений просматривает страницу на наличие инструкций и выполняет ее подготовку. D. Сервер приложений отправляет запрос драйверу базы данных. E. Драйвер выполняет запрос в базе данных. F. Драйверу возвращается набор записей. G. Драйвер передает набор записей серверу приложений. H. Сервер приложений вставляет данные в страницу и передает страницу веб-серверу. I. Веб-сервер отправляет подготовленную страницу запросившему ее браузеру.
Для использования в веб-приложении пригодна любая база данных при условии, что на сервере установлен соответствующий драйвер базы данных.
Для создания малобюджетных приложений можно использовать файловую базу данных, например базу данных, созданную с помощью Microsoft Access. Если планируется создание надежных корпоративных приложений, рекомендуется использовать серверную базу данных, например, на основе серверов Microsoft SQL Server, Oracle 9i или MySQL.
Если база данных и веб-сервер располагаются на разных компьютерах, следует обеспечить скоростное подключение между системами, поскольку от этого будет зависеть эффективность и скорость работы всего веб-приложения.
Процесс разработки динамических страниц состоит из написания базового HTML-кода и последующего создания серверных сценариев или тегов HTML-страницы, с помощью которых страница становится динамической. Если взглянуть на окончательный код, видно, что язык сценариев встроен в HTML-код страницы. Соответственно, такие языки сценариев называют языками, встроенными в HTML. В следующем примере используется язык разметки ColdFusion Markup Language (CFML).
Примечание. В Dreamweaver CC и более поздних версиях поддержка CFML отсутствует.
Встроенные в данную страницу инструкции выполняют следующие действия.
Создается переменная с именем department, после чего ей присваивается строковое значение «Sales» .
Значение «Sales» помещается в HTML-код.
Сервер приложений возвращает следующую страницу на веб-сервер:
Веб-сервер отправляет страницу браузеру, который отображает ее следующим образом.
О компании Trio Motors
Компания Trio Motors является одним из ведущих производителей автомобилей.
Не забудьте посетить страницу нашего отдела продаж.
Выбор языка сценариев либо языка, основанного на тегах, зависит от применяемых серверных технологий. Ниже приведен список языков, которые наиболее часто используются в серверных технологиях, поддерживаемых Dreamweaver.
Читайте также: