Ім'я файлу: research.docx
Розширення: docx
Розмір: 124кб.
Дата: 22.05.2020

ВВЕДЕНИЕ

1.5 стр. + 0.5 стр. ЦЕЛЬ

1 СРАВНИТЕЛЬНЫЙ АНАЛИЗ ИНСТРУМЕНТОВ ДЛЯ ПОСТРОЕНИЯ ВЕБ-ОРИЕНТИРОВАННОЙ СИСТЕМЫ





    1. Архитектура веб-ориентированных приложений 3 стр.

    2. Архитектура клиент-серверной части. Связь приложения с сервером 3 стр.

    3. Анализ библиотек для построения веб-приложения 4 стр.

      1. Построение сравнительной таблицы веб-систем

    4. Фреймворк Angular 8 построенный на базе TypeScript. 4стр.

    5. Мини заключение к главе. 0.5 стр.

Всего: 14.5 стр.

ВВЕДЕНИЕ

Создание и совершенствование компьютеров привело и продолжает приводить к созданию новых технологий в различных сферах научной и практической деятельности. Одно из важнейших достижений человечества является Интернет, способный связывать миллионы компьютеров по всему миру. Интернет – всемирная сеть, которая объединяет множество компьютерных сетей различного уровня и отдельных компьютеров, обменивающих друг с другом информацией по каналам общественных телекоммуникаций на базе протоколов связи TCP/IP. Информация в Интернет хранится на серверах. Серверы, объединенные высокоскоростными магистралями, составляют базовую часть сети Интернет. Доступ пользователей к информационным ресурсам Интернет обычно осуществляется через провайдеров или корпоративную сеть. Количество пользователей Интернет стремительно растет, соответственно растет и спрос на веб-сайты и веб-приложения. А их количество уже превышает 1,94 миллиарда.

На сегодняшний день наиболее актуальной темой является создание сайтов. Это связано с тем, что практически любая сфера деятельности, независимо от того связана она с товарами или услугами, нуждается в продвижении, основой которого является информирование.

Главное назначение сайта заключается в том, чтобы поведать пользователям о данной компании. В Интернете существуют разные способы информирования, но, как правило, все они, сводятся к одному – к веб-сайту.

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

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

Для большинства рекламодателей область повышенного интереса представляют собой пользователи сети. Ни печатная продукция, ни радио или телевидение не могут подать информацию в таком удобном, презентабельном и убеждающем виде, как это сделает веб-сайт. Исчерпывающая информация, прайс-листы, каталог товаров, возможность осуществлять всевозможные заказы, рубрика "ответ-вопрос", размещенные на сайте, избавляют от необходимости разъяснять одни и те же вопросы по телефону, позволит освободить рабочее время сотрудников фирмы для эффективного решения насущных задач. Именно поэтому создание веб-сайта для коммерческой организации продиктовано современной необходимостью.

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

Уникальный контент сайта, грамотно разбавленный ключевыми словами, а так же привлекательный дизайн страниц способны принести любой компании ощутимую экономическую прибыль.

ЦЕЛЬ



1 СРАВНИТЕЛЬНЫЙ АНАЛИЗ ИНСТРУМЕНТОВ ДЛЯ ПОСТРОЕНИЯ ВЕБ-ОРИЕНТИРОВАННОЙ СИСТЕМЫ





    1. Архитектура веб-ориентированных приложений.


Архитектура, основанная на сервисах (SOA, англ. service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных (англ. loose coupling) заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам.

Программные комплексы, разработанные в соответствии с сервис-ориентированной архитектурой, обычно реализуются как набор веб-служб, взаимодействующих по протоколу SOAP, но существуют и другие реализации (например, на базе jini, CORBA, на основе REST). Это новый шаг в направлении комплексного решения проблемы создания распределенных приложений, выполняющихся на многих компьютерах, что даёт возможность при необходимости выполнить какие-то действия, пользователь просто идентифицирует контракт, описывает, как выглядят данные, имеет возможность динамически переключаться между сервисами, реализующими нужную функциональность, и выбирать себе сервис из нескольких доступных. При этом пользователя не интересует, как именно реализована функциональность сервиса. Первая волна Веб-сервисов и соответствующие стандарты-SOAP, UDDI, WSDL позволяли создавать полнофункциональные интероперабельные приложения. Вторая волнаВеб-сервисов должна привести к появлению новой модели программирования, которая позволит использовать много различных инструментов и продуктов для создания приложений, одна часть которых функционирует под управлением J2EE-серверов приложений, а другая -под управлением Windows или .NET. Если раньше представление о Веб-сервисах было во многом ограничено предположением об обязательном применении протокола HTTP, широко распространенного и очень популярного, то сейчас рассматриваются возможности доставки данных с применением других протоколов, более подходящих для решения ряда задач с точки зрения надежности. Облачные вычисления(cloud computing) -новая парадигма, предполагающая распределенную и удаленную обработку и хранение данных. Термин «облако» используется как метафора, основанная на изображении Интернета на схемах компьютерных сетей, или как образ сложной инфраструктуры, за которой скрываются все технические детали. Облако есть не что иное, как некий крупный дата-центр (или сеть взаимосвязанных между собой серверов), в котором могут храниться файлы и совершаться все вычислительные операции. Это автоматически снимает проблемы с

производительностью компьютера и количеством свободного места на жестком диске. В данном учебном пособии, которое разделено на три части, рассматривается архитектура распределенных сервисов, приводятся варианты расположения приложений, рассмотрены средства, инструменты, спецификации для построения и сопровождения приложений, приведены элементы и характеристики сервис-ориентированной архитектуры (SOA). Во второй части данного пособия рассмотрена концепция облачной обработки данных, приведены характеристики облачных вычислений (в соответствии с NIST);модели расположения приложений: onpremises, hosting(ASP), cloud, а также рассмотрены модели обслуживания: программное обеспечение как услуга (SaaS), платформа как услуга (PaaS), инфраструктура как услуга (IaaS).В третьей части приведена архитектура веб-сервисов (WOA), устройство веб-приложений и интерфейсные методы веб-служб.

Существует несколько технологий разработки информационных систем, ориентированных на Интернет. Одной из наиболее мощных технологий является ASP.NET. Веб-приложения, разработанные на основе ASP.NET работают исключительно в среде IIS платформы WindowsASP.NET является частью инфраструктуры NET Framework. Данная архитектура является основой для построения современных приложений, ориентированных на работу в среде Windows, и может использовать любой из совместимых языков программирования для написания программного кода. Особенностью .NET Framework является то, что различные модули одной и той же программной системы могут быть написаны на различных языках программирования. Одним из важнейших элементов данной архитектуры является наличие сборщика мусора, осуществляющего очистку неиспользуемых областей памяти и избавляющего программиста от проблемы "утечки памяти".

Каждое Веб-приложение ASP.NET состоит из 3 частей: информационной, программного кода и сведений о конфигурации. Информационная часть включает в себя описание страницы в формате HTML и содержит как элементы языка гипертекстовой разметки документа, так и элементы ASP.NET. Программный код реализует бизнес-логику, оформленную в виде процедур обработки данных. Этот код исполняется сервером и взаимодействует с динамическими элементами информационной части, позволяя динамически формировать содержимое страницы, передаваемой клиенту. Сведения о конфигурации содержат параметры, определяющие способ исполнения приложения на сервере, параметры безопасности, реакцию на возникающие ошибки и др.

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

    1. Архитектура клиент-серверной части. Связь приложения с сервером.

Веб-програма — клієнт-серверна програма, в якій клієнт взаємодіє з веб-сервером за допомогою браузера. Логіка веб-програми розподілена між сервером і клієнтом, зберігання даних здійснюється, переважно, на сервері, обмін інформацією відбувається по мережі. Одним з переваг такого підходу є той факт, що клієнти не залежать від конкретної операційної системи користувача, тому веб-програми є міжплатформовими службами.

Веб-програма складається з клієнтської і серверної частин, тим самим реалізуючи технологію «клієнт-сервер».

Клієнтська частина реалізує користувальницький інтерфейс, формує запити до сервера і обробляє відповіді від нього.

Серверна частина отримує запит від клієнта, виконує обчислення, після цього формує веб-сторінку і відправляє її клієнту через мережу з використанням протоколу HTTP.

Саме веб-програма може виступати в якості клієнта інших служб, наприклад, бази даних або іншої веб-програми, розташованої на іншому сервері. Яскравим прикладом веб-програми є система управління вмістом статей Вікіпедії: безліч її учасників можуть брати участь у створенні мережевої енциклопедії, використовуючи для цього браузери своїх операційних систем (будь то Microsoft Windows, GNU / Linux або будь-яка інша операційна система) і не завантажуючи додаткових виконуваних модулів для роботи з базою даних статей.

Для створення веб-програмна стороні сервера використовуються різноманітні технології та будь-які мови програмування, здатні здійснювати вивід в стандартну консоль.

Архітектура клієнт-сервер є одним із архітектурних шаблонів програмного забезпечення та є домінуючою концепцією у створенні розподілених мережних програм і передбачає взаємодію та обмін даними між ними. Вона передбачає такі основні компоненти:

  • набір серверів, які надають інформацію або інші послуги програмам, які звертаються до них;

  • набір клієнтів, які використовують сервіси, що надаються серверами;

  • мережа, яка забезпечує взаємодію між клієнтами та серверами.

Сервери є незалежними один від одного. Клієнти також функціонують паралельно і незалежно один від одного. Немає жорсткої прив'язки клієнтів до серверів. Більш ніж типовою є ситуація, коли один сервер одночасно обробляє запити від різних клієнтів; з іншого боку, клієнт може звертатися то до одного сервера, то до іншого. Клієнти мають знати про доступні сервери, але можуть не мати жодного уявлення про існування інших клієнтів.



Рисунок 1.1 – Пример архитектуры клинт-сервер

Отображением результатов запросов, а также приемом данных от клиента и их передачей на сервер обычно занимается специальное приложение — браузер (Internet Explorer, Chrome, Mozilla, Opera и т. д.). Как известно, одной из функций браузера является отображение данных, полученных из Интернета, в виде страницы, описанной на языке HTML, следовательно, результат, передаваемый сервером клиенту, должен быть представлен на этом языке.

На стороне сервера Веб-приложение выполняется специальным программным обеспечением (Веб-сервером), который и принимает запросы клиентов, обрабатывает их, формирует ответ в виде страницы, описанной на языке HTML, и передает его клиенту. Одним из таких Веб-серверов является Internet Information Services (IIS) компании Microsoft. Это единственный Веб-сервер, который способен выполнять Веб-приложения, созданные с использованием технологии ASP.NET.

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

За счет наличия исполняемой части, Веб-приложения способны выполнять практически те же операции, что и обычные Windows-приложения, с тем лишь ограничением, что код исполняется на сервере, в качестве интерфейса системы выступает браузер, а в качестве среды, посредством которой происходит обмен данными, — Интернет. К наиболее типичным операциям, выполняемым Веб-приложениями, относятся:

  • прием данных от пользователя и сохранение их на сервере;

  • выполнение различных действий по запросу пользователя: извлечение данных из базы данных (БД), добавление, удаление, изменение данных в БД, проведение сложных вычислений;

  • аутентифицирование пользователя и отображение интерфейса системы, соответствующего данному пользователю;

  • отображение постоянно изменяющейся оперативной информации и т. д.

Дуже важливо ясно уявляти, хто або що розглядається як «клієнт». Можна говорити про клієнтський комп'ютер, з якого відбувається звернення до інших комп'ютерів. Можна говорити про клієнтське та серверне програмне забезпечення. Нарешті, можна говорити про людей, які бажають за допомогою відповідного програмного та апаратного забезпечення отримати доступ до тієї чи іншої інформації.

Загальноприйнятим є положення, що клієнти та сервери — це перш за все програмні модулі. Найчастіше вони знаходяться на різних комп'ютерах, але бувають ситуації, коли обидві програми — і клієнтська, і серверна, фізично розміщуються на одній машині; в такій ситуації сервер часто називається локальним.

На стороні клієнта використовується:

Для реалізації GUI:

  • HTML, XHTML

  • CSS

Для формування запитів, створення інтерактивного і незалежного від браузера інтерфейсу:

  • ActiveX

  • AdobeFlash, AdobeFlex

  • Java

  • JavaScript

  • Silverlight







    1. Анализ библиотек для построения веб-приложения.
Что такое библиотеки? Это набор подпрограмм, функций и других элементов, которые используются для упрощения и ускорения процесса разработки. Говоря простыми словами, библиотека предлагает разработчику комплект готовых решений для конкретной стоящей перед ним задачи. Библиотеки нужны разработчикам, когда нужно создать сайт с более сложным функционалом. Чтобы не тратить время на написание сложного кода на чистом языке (vanilla JavaScript), разумнее использовать уже готовые решения. В основном, такие решения имеют вполне достойное качество. А все, что не устраивает разработчика в плане качества или функциональности, можно переписать и подогнать под условия конкретного проекта.

JQuery - швидка, легка і багатофункціональна JavaScript бібліотека. За допомогою простого і кросбраузерного API бібліотека сильно спрощує переміщення і маніпуляції з HTML документами, обробку подій, анімацію, а також роботу з технологією Ajax.

Досить відзначити той факт, що сила JQuery лежить в його здатності робити запити в DOM (звідки і назва JQuery) і вносити подальші зміни до нього за допомогою добре прописаного API.

Коли браузер відтворює веб-сторінку, ми бачимо перед собою тільки візуальне уявлення такого поняття, як DOM (об'єктній моделі документа). Цю модель можна концептуально представити у вигляді дерева з вузлами. Наприклад, уявлення моделі з сайту ВебStepBook:



Рисунок 1.2 – Приклад об'єктної моделі документа
jQuery прочно сохраняет за собой пальму первенства, хотя и начала терять популярность в последнее время.

Преимущества jQuery:


  • jQuery позволяет сократить время создания нового функционала за счет использования плагинов.

  • jQuery появилась более 10 лет назад, когда перед разработчиками стояла серьезная проблема совместимости кода с разными существующими браузерами. Кросс-браузерная jQuery существенно упростила жизнь разработчикам, так как позволяла писать один код для всех браузеров, а не для каждого браузера отдельно. Тем самым существенно сокращалось время разработки.

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

  • версии jQuery, как правило, совместимы между собой. Соответственно, существует возможность использовать все готовые решения, которые уже созданы теми, кто когда-либо работал с этой библиотекой.

  • еще одним преимуществом является наличие подробной документации и развитое сообщество разработчиков вокруг jQuery.

Недостатки jQuery:

  • jQuery обладает определенным весом, и ее использование замедлит загрузку веб сайта или приложения.

  • при отсутствии готового решения в библиотеке от разработчика потребуется дополнительное время и усилия на написание соответствующего кода.

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


Преимущества React:

  • React использует Shadow DOM (объектную модель документа): все изменения компонентов сайта или приложения производятся в ней (она используется в качестве промежуточного слоя между веб страницей и реальной DOM), при этом изменение одного компонента не затрагивает все остальные. Соответственно, обновление страниц происходит быстрее, и элементы интерфейса пользователя являются более динамичными. То есть взаимодействие пользователя с сайтом или приложением становится более активным.

  • React  позволяет повторно использовать части уже написанного кода. Это существенно сокращает время разработки.

  • React имеет открытый исходный код: соответственно, библиотека открыта для любых усовершенствований и решений со стороны заинтересованных разработчиков. А это дает ей возможность постоянно развиваться и расширяться.

  • React рекомендуется использовать для SPA (одностраничное веб-приложение или веб-сайт).

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

Эта технология позволяет странице быть динамичной (то есть реагировать на действия пользователя, взаимодействовать с ним), но при этом страница не перезагружается, а обновляется посредством AJAX.

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

  • React много весит (соответственно при загрузке веб-сайта или приложения будет возникать задержка, что явно не обрадует избалованного высокими скоростями современного пользователя);

  • библиотека достаточно сложная, и требуется много времени для ее изучения;

  • сайты, разработанные с ее использованием, не всегда идеально индексируются браузерами (конечно, всегда есть возможность внести определенные изменения и дополнения, но это потребует дополнительного времени и усилий).

Именно поэтому React зачастую используется для сайтов, которым не нужна индексация (например, для страниц с закрытой внутренней информацией организации или личными данными).
 Lodash предназначена для того, чтобы облегчить работу с объектами, массивами данных, цифрами, строками: их создание, комбинирование, изменение, преобразование в разные форматы, сортировку, фильтрацию и т.д.

Преимущества Lodash:

  • быстродействующая кросс-браузерная библиотека: исключает проблемы с совместимостью с разными браузерами независимо от версии. Благодаря этому Lodash используется практически во всех крупных проектах.

  • предоставляет возможность импортировать для использования только необходимую функцию (модуль), а не всю библиотеку.

Недостатки Lodash:

  • Lodash достаточно много весит. Поэтому рекомендуем тщательно взвесить, что целесообразнее:

  • потратить определенное время на написание кода, но не утяжелять сайт библиотекой

  • или

  • сэкономить время и воспользоваться готовым решением, но согласиться на то, что загрузка страниц будет происходить чуть медленнее.

 

D3.js - библиотека, которая ускоряет и облегчает визуализацию данных.


Преимущества D3.js:

  • предлагает большой выбор вариантов визуализации в самых разнообразных формах и видах. Перейдя на примеры использования D3.js, можно посмотреть, как именно могут выглядеть готовые решения.

  • D3.js позволяет дополнить визуализацию интерактивностью самых различных уровней сложности.

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

Недостатки D3.js:

  • основным недостатком D3.js является достаточно высокий порог вхождения. Не имеющему опыта разработчику понадобится определенное время, чтобы научиться создавать сложные интерактивные варианты визуализации.

 

Chart.js - библиотека имеющая узко специальную направленность и позволяет создавать различные диаграммы и графики: линейные диаграммы, гистограммы, диаграммы с областями и другие.


Преимущества Chart.js:

  • Chart.js проста в использовании, и на официальном сайте прилагается достаточно подробная документация. Так что освоение Chart.js не составит особого труда для разработчика.

Недостатки Chart.js:

  • библиотека дает возможность создавать только основные базовые типы диаграмм. Для более сложных форм нужно будет подбирать другие инструменты.

  • не обеспечивает интерактивность: все диаграммы выглядят как обычные статичные картинки.

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

Количество js библиотек растет практически каждый день, параллельно растет и число последователей и противников тех или иных технологий.

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

ВАЖНО:

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

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

 

Three.js 


Преимущества Three.js:

  • Three.js поможет, если вам нужна 3D анимация для вашего веб сайта или приложения. Кроме того, на сайте представлено достаточно большое количество примеров, из которых можно почерпнуть вдохновение.

  • хорошо работает совместно с другими библиотеками javascript.

  • легко интегрируется в уже существующий код веб сайта или приложения.

Недостатки Three.js:

  • основные недостатки связаны с недостаточно полной документацией, отсутствием поддержки развитого сообщества разработчиков. Все это затрудняет работу с библиотекой для разработчика, не имеющего соответствующего опыта.

Таблица 1.1 - Сравнительная таблица веб-систем.

Критерий

сравнения

Веб-система

Angular

React

Vue

Уровень сложности

высокий

средний

низкий

Размер файла

500 кб

100 кб

80 кб

Время загрузки

большое

среднее

малое

Google Trend

(результаты поиска)

50 (в среднем)

90 (в среднем)

45 (в среднем)

Stackoverflow Survey (результаты поиска)

74

203

43

Stackoverflow Job (результаты поиска)

12

35

3

Upwork

(результаты поиска)

726

816

257

Запущен в

2010

2013

2014

Текущая версия

8.2.3

16.10.2

2.6.10

Используется

Google, Wix

Facebook, Uber

Alibaba, Github




    1. Фреймворк Angular 8 построенный на базе TypeScript.

JavaScript(JS) — динамічна, об'єктно-орієнтована прототипна мова програмування. Реалізація стандарту ECMAScript. Найчастіше використовується для створення сценаріїв веб-сторінок, що надає можливість на стороні клієнта (пристрої кінцевого користувача) взаємодіяти з користувачем, керувати браузером, асинхронно обмінюватися даними з сервером, змінювати структуру та зовнішній вигляд веб-сторінки.

JavaScript класифікують як прототипну (підмножина об'єктно-орієнтованої), скриптову мову програмування з динамічною типізацією. Окрім прототипної, JavaScript також частково підтримує інші парадигми програмування (імперативну та частково функціональну) і деякі відповідні архітектурні властивості, зокрема: динамічна та слабка типізація, автоматичне керування пам'яттю, прототипне наслідування, функції як об'єкти першого класу.

МоваJavaScript використовується для:

  • написання сценаріїв веб-сторінок для надання їм інтерактивності;

  • створення односторінкових веб-додатків (React, AngularJS, Vue.js);

  • програмування на стороні сервера (Node.js);

  • стаціонарних додатків (Electron, NW.js);

  • мобільних додатків (React Native, Cordova);

  • сценаріїв в прикладному ПЗ (наприклад, в програмах зі складу Adobe Creative Suite чи Apache JMeter);

  • всередині PDF-документів тощо.

Незважаючи насхожість назв, мови Java та JavaScript є двома різними мовами, що мають відмінну семантику, хоча й мають схожі риси в стандартних бібліотеках та правилах іменування. Синтаксис обох мов отриманий «у спадок» відмови С, але семантика та дизайн JavaScript є результатом вплив умов Self та Scheme.

JavaScript маєнизку властивостей об'єктно-орієнтованої мови, але завдяки концепції прототипів підтримка об'єктів в ній відрізняється від традиційних мов ООП. Крім того, JavaScript має ряд властивостей, притаманних функціональним мовам, — функції як об'єкти першого класу, об'єкти як списки, каррінг, анонімні функції, замикання (closures) — що додає мові додаткову гнучкість.

JavaScript має C-подібний синтаксис, але в порівнянні з мовою C має такі корінні відмінності:

  • об'єкти, з можливістю інтроспекції і динамічної зміни типу через механізм прототипів

  • функції як об'єкти першого класу

  • обробка винятків

  • автоматичне приведення типів

  • автоматичне збирання сміття

  • анонімні функції

JavaScript містить декілька вбудованих об'єктів: Global, Object, Error, Function, Array, String, Boolean, Number, Math, Date, RegExp. Крімтого, JavaScript містить набір вбудованих операцій, які, грубокажучи, необов'язково є функціями або методами, а також набір вбудованих операторів, що управляють логікою виконання програм. Синтаксис JavaScript в основному відповідає синтаксису мови Java (тобто, зрештою, успадкований від C), але спрощений порівняно з ним, щоб зробити мову сценаріїв легкою для вивчення. Так, приміром, декларація змінної не містить її типу, властивості також не мають типів, а декларація функції може стояти в тексті програми після неї.
TypeScript — мова програмування, представлена Microsoft позиціонується як засіб розробки веб-додатків, що розширює можливості JavaScript.

TypeScript є зворотньосумісним з JavaScript. Фактично, після компіляції програму на TypeScript можна виконувати в будь-якому сучасному браузері або використовувати спільно з серверною платформою Node.js.

Переваги над JavaScript:

  • можливість явного визначення типів (статична типізація),

  • підтримка використання повноцінних класів (як в традиційних об'єктно-орієнтованих мовах),

  • підтримка підключення модулів.

За задумом ці нововведення мають підвищити швидкість розробки, прочитність, рефакторинг і повторне використання коду, здійснювати пошук помилок на етапі розробки та компіляції, а також швидкодію програм.
AJAX(Асинхронний JavaScript і XML) являє собою технологію гнучкої взаємодії між клієнтом і сервером. Завдяки її використанню ми можемо здійснювати асинхронні запити до сервера без перезавантаження всієї сторінки. Хоча в даний час все більше замість формату XMLвикористовується формат JSON для взаємодії між клієнтом і сервером.

Стосовно до ASP.NET MVC використання AJAX вилилося в цілу концепцію під назвою "ненав'язливого AJAX" і ненав'язливого JavaScript (unobtrusive Ajax / JavaScript). Сенс цієї концепції полягає в тому, що весь необхідний код JavaScript використовується не на самій веб-сторінці, а поміщається в окремі файли з розширенням * .js. А потім за допомогою тега <script> ми на веб-сторінці посилаємося на даний файл коду.

Таким чином ми відокремлюємо візуалізацію від логіки програми. Що має свої плюси. Так, виділення скрипта в окремий файл завантаження збільшує продуктивність сайту, оскільки файл зберігається в кеші і потім звідти підвантажується.

Порівняння класичного підходу та AJAX

Класична модель веб-програми:

  1. Користувач заходить на веб-сторінку і натискає на який-небудь її елемент

  2. Браузер надсилає запит серверу

  3. У відповідь сервер генерує повністю нову веб-сторінку і відправляє її браузеру і т. д.

  4. З боку сервера можлива генерація не всієї сторінки наново, а тільки деяких її частин, з подальшою передачею користувачу.

Модель AJAX:

  1. Користувач заходить на веб-сторінку і натискає на який-небудь її елемент.

  2. Браузер відправляє відповідний запит на сервер.

  3. Сервер віддає тільки ту частину документа, яка змінилася.



Рисунок 1.3 – Пример сравнения моделей веб-приложения
Фреймворк (каркас, платформа, структура, інфраструктура) —інфраструктура програмних рішень, щ ополегшує розробку складних систем. Спрощено дану інфраструктуру можна вважати своєрідною комплексною бібліотекою, але при цьому вона має ряд обмежень, що задають правила створення структури проекту та написання коду.
Angular — написаний на TypeScript front-end фреймворк з відкритим кодом, який запозичує кращі аспекти розробки на стороні сервера і використовує їх для розширення можливостей розмітки HTML в браузері. Таким чином закладається основа, яка спрощує і полегшує створення додатків з розширеною функціональністю. Додатки Angular будуються на базі патерну проектування MVC ( «модель - представлення - контролер»), який орієнтований на створення додатків, що володіють наступними характеристиками:

  • Простота розширення: якщо ви розумієте основи, вам буде легко розібратися навіть в самому складному додатку Angular, а це означає, що ви зможете легко розширювати програми для підтримки нової корисної функціональності.

  • Зручність супроводу: додатки Angular прості в налагодженні, в них легко виправляються помилки, а це означає простоту супроводу коду в довгостроковій перспективі.

  • Зручність тестування: в Angular реалізована хороша підтримка модульного і наскрізного тестування. Отже, ви зможете знаходити та усувати дефекти до того, як ваші користувачі зіткнуться з ними.

Стандартизація: Angular працює на основі внутрішньої функціональності браузера, не створюючи ніяких перешкод для вашої роботи. Це дозволяє вам створювати веб-додатки, що відповідають стандартам, в яких задіяна новітня функціональність (наприклад, різні API HTML5), популярні інструменти і фреймворки.
Багато інструментів, використовувані для розробки додатків Angular, залежать від Node.js (також відомої як Node) - простого і ефективного виконавчого середовища для серверних додатків, написаних на JavaScript. Node.js використовує ядро JavaScript, задіяне в браузері Chrome, і надає API для виконання коду JavaScript за межами оточення браузера.
Angular 8 - это значительный релиз, который включает в себя не просто несколько аспектов, а полную платформу. Это означает, что обновление охватывает фреймворк, а также Angular Material и CLI с синхронизированными первостепенными выпусками. Короче говоря, Angular 8 увеличивает время запуска приложений в современных веб-браузерах, предлагает новые API-интерфейсы для использования Angular CLI и, в целом, лучше сочетает Angular с увеличением числа веб-стандартов и экосистемы в целом. Все это вместе означает много разных вещей для многих сторон, вовлеченных в процесс, но самые большие из них - это разработчики. Как Angular 8 помогает разработчикам Ivy. Ivy - это современный компилятор Angular и новый конвейер рендеринга, который дает разработчикам возможность создавать существенно меньшие пакеты и упрощать инкрементную компиляцию. В дополнение к этому, Ivy теперь также служит основой для любых инноваций, связанных с Angular в будущем. Новая опция регистрации сервисного работника: на более ранних итерациях сервисный работник должен был держаться до тех пор, пока приложение не станет достаточно стабильным, чтобы зарегистрироваться, чтобы предотвратить снижение скорости запуска приложения. С Angular 8 разработчики получают возможность точно определить, когда должна произойти регистрация. Миграция. Для разработчиков, использующих службу определения местоположения в приложении на основе AngularJS, Angular 8 содержит множество дополнений. Среди прочего, он имеет LocationUpgradeModule, который облегчает унифицированную службу определения местоположения, которая переключает обязанности в службу Angular Location Service из службы определения местоположения AngularJS. Дифференциальная нагрузка: в Agular 8 CLI получает дифференциальную нагрузку. Смысл этой функции заключается в предложении двух типов пакетов; в то время как один из них опирается на ECMAScript 5, второй основан на более новой версии ECMAScript. Кроме того, дифференциальную загрузку можно активировать, просто установив верхний и нижний пределы для поддерживаемых версий ECMAScript. Последняя итерация фреймворка предлагает значительно больше преимуществ, которые делают разработку приложений на Angular проще и даже эффективнее, чем раньше. Благодаря таким возможностям, как Ivy, дифференциальная загрузка и многое другое, приложения на базе Angular теперь могут стать сильнее, чем когда-либо прежде! Итак, откиньтесь на спинку кресла и позвольте Angular 8 творить чудеса, чтобы предоставить вам приложение, которое выведет ваш бизнес на совершенно новый уровень.


    1. Вибір інструментів для створення проекту

Проаналізувавши вище вказану інформацію стає зрозуміло що створення веб-програм на даний момент є досить актуальним. Веб-додатки є міжплатформовими сервісами, і використовують клієнт-серверну архітектуру. Бібліотека JQuery допоможе розширити та спростити створення і керування інтерфейсом, також сприятиме впровадженню технології AJAX. А TypeScript допоможе вдосконалити роботу з JavaScript. Хоча фреймворк Angular є досить складним і представляє собою цілу платформу, його проекти створюються на базі патерну проектування MVC, що дозволяє зберегти логіку та структуру , тобто полегшує подальші зміни чи розширення програм, а також надає можливість повторного використання окремих компонентів програми. Крім того використання цього шаблону у великих системах сприяє впорядкованості їхньої структури і робить їх більш зрозумілими за рахунок зменшення складності.
скачати

© Усі права захищені
написати до нас