Слайд 2Что это такое?
Веб-программирование — раздел программирования,
ориентированный на разработку вебприложений (программ,
обеспечивающих функционирование динамических сайтов
Всемирной паутины).
Языки веб-программирования — это языки, которые в основном предназначены
для работы с веб-технологиями. Языки веб-программирования можно условно разделить на
две пересекающиеся группы: клиентские и серверные.
Слайд 3Клиентские языки
Как следует из названия, программы на клиентских языках обрабатываются
на стороне пользователя, как правило, их выполняет браузер. Это и
создает главную проблему клиентских языков — результат выполнения программы (скрипта) зависит от браузера пользователя. То есть, если пользователь запретил выполнять клиентские программы, то они исполняться не будут, как бы ни желал этого программист. Кроме того, может произойти такое, что в разных браузерах или в разных версиях одного и того же браузера один и тот же скрипт будет выполняться по-разному. С другой стороны, если программист возлагает надежды на серверные программы, то он может упростить их работу и снизить нагрузку на сервер за счет программ, исполняемых на стороне клиента, поскольку они не всегда требуют перезагрузку (генерацию) страницы.
Слайд 4Скрипты
Сценарный язык (язык сценариев, жарг. скриптовый язык; англ. scripting language) — высокоуровневый язык
сценариев (англ. script) — кратких описаний действий, выполняемых системой. Разница между программами
и сценариями довольно размыта. Сценарий — это программа, имеющая дело с готовыми программными компонентами.
Согласно Джону Устерхауту, автору языка Tcl, высокоуровневые языки можно разделить на языки системного программирования (англ. system programming languages) и сценарные языки (англ. scripting languages). Последние он также назвал склеивающими языками (англ. glue languages) или языками системной интеграции (англ. system integration languages). Сценарии обычно интерпретируются, а не компилируются, хотя сценарные языки программирования один за другим обзаводятся JIT-компиляторами.
В более узком смысле под скриптовым языком может пониматься специализированный язык для расширения возможностей командной оболочки или текстового редактора и средств администрирования операционных систем.
Слайд 5Серверные языки
Когда пользователь дает запрос на какую-либо страницу (переходит на
неё по ссылке или вводит адрес в адресной строке своего
браузера), то вызванная страница сначала обрабатывается на сервере, то есть выполняются все программы, связанные со страницей, и только потом возвращается к посетителю по сети в виде файла. Этот файл может иметь расширения HTML, PHP, ASP, ASPX, Perl, SSI, XML, DHTML, XHTML.
Работа программ уже полностью зависима от сервера, на котором расположен сайт, и от того, какая версия того или иного языка поддерживается. К серверным языкам программирования можно отнести PHP, Perl, Python, Ruby, любой .NET язык программирования (технология ASP.NET), Java, Groovy, Javascript.
Важной стороной работы серверных языков является возможность организации непосредственного взаимодействия с системой управления базами данных (или СУБД) — сервером базы данных, в которой упорядоченно хранится информация, которая может быть вызвана в любой момент.
Слайд 6Фреймворки
Веб-фреймворк — инструмент, облегчающий процесс написания и запуска веб-приложения. Вам
не нужно самостоятельно писать кучу кода и тратить время на
поиск потенциальных просчётов и ошибок.
На рассвете эры веб-разработки все приложения писались вручную, и только разработчик приложения мог изменить или развернуть его. Веб-фреймворки позволили выбраться из этой западни. С 1995 года вся морока, связанная с изменением структуры приложения, была приведена в порядок благодаря появлению общего подхода к разработке веб-приложений. В это время появились языки для веба. Сейчас их разнообразие позволяет выбрать подходящий как для статических, так и для динамических страниц. В зависимости от поставленной задачи, вы можете выбрать один фреймворк, покрывающий все нужды, или совместить несколько.
Слайд 7Основы Web-программирования
Для создания интерактивных и компактных Web-приложений необходимо знать немало
современных веб-стандартов:
HTML5 HTML5 - это не просто новый язык
разметки, а дюжина независимых веб-стандартов в одной упаковке. Новый стандарт позволяет воспроизводить видео, не прибегая к помощи модулей расширения браузера, таких как, например, Flash. Также в этом стандарте вводится лавина функциональностей, движимых JavaScript, которые могут придать веб-страницам определенные расширенные, интерактивные возможности, встречаемые в программном обеспечении для настольных компьютеров.
Слайд 8Основы Web-программирования
CSS3. Почти бессмысленно пытаться создать современный веб-сайт, не используя
возможностей CSS (Cascading Style Sheet). Этот стандарт воткан в ткань
Всемирной сети почти так же плотно, как и HTML. Каскадные таблицы стилей являются основным средством для любого типа деятельности в области веб-дизайна, будь то компоновка страниц, создание интерактивных кнопок и меню или простое декорирование. По сути, в то время как фокус HTML все больше смещается на содержимое и семантику, спецификация CSS стала центральной технологией веб-дизайна.
JavaScript, jQuery Язык сценариев JavaScript был создан с целью получения доступа из сценариев ко всем элементам HTML-документа. Иными словами, этот язык представляет средства для динамического взаимодействия с пользователем, например для проверки приемлемости адресов электронной почты в формах ввода данных, отображения подсказок и т.п. В сочетании с CSS JavaScript закладывает основу мощности динамических веб-страниц, которые изменяются буквально на глазах, в отличие от новой страницы, возвращаемой сервером.
Слайд 9Основы Web-программирования
ASP.NET является основной технологией для построения серверных элементов веб-приложений
от Microsoft. Заинтересовать разработчиков в ASP.NET совсем нетрудно. Без преувеличения,
ASP.NET является наиболее полной платформой для веб-разработки из всех, которые когда-либо создавались.
PHP и MySQL Сочетание PHP и MySQL является одним из самых удобных подходов к динамическому веб-конструированию, основанному на использовании базы данных. Благодаря открытости исходных кодов (в отличие от конкурирующей технологии ASP.NET) это технологическое сочетание можно использовать совершенно бесплатно, и поэтому оно приобрело очень большую популярность у веб-разработчиков. Любой претендующий на результативность разработчик, использующий платформу Unix/Linux или даже Windows/Apache, нуждается в серьезном освоении этих технологий.
Слайд 10Языки программирования IoT
(Интернета вещей)
С 2015 года Eclipse Foundation проводит опрос
IoT-разработчиков, по всему миру, чтобы понять тенденции в этой области.
В последнем опросе в марте 2019 года приняло участие 502 человека. Итак, разработчики используют целый ряд основных языков программирования.
Среди популярных:
Java
C
JavaScript
Python
C++
Для контроллеров и прочего железа с низкой вычислительной мощностью и с малым ОЗУ, «C» является предпочтительным языком программирования, а для шлюзов и облачных платформ «Java» – лучший выбор.
Слайд 11Языки программирования IoT
(Интернета вещей)
Java
Java широко используется в мире программирования. Виртуальная
машина Java (JVM) позволяет писать код, поддерживаемый любым чипом.
Программа может
работать там, где распространена JVM: от смартфонов до серверов, что делает язык Java идеальным для программного обеспечения IoT.
Главные плюсы языка:
объектно-ориентированный ЯП;
имеет встроенные возможности, полезные в IoT;
Java портативна и не имеет аппаратных ограничений.
C
На уровне устройства объем вычислительной мощности, как правило, довольно ограничен. Здесь лучше всего работает именно Cи язык. Он идеален для написания низкоуровневого кода, ведь не требует большой вычислительной мощности и может работать непосредственно в ОЗУ.
Еще C можно использовать для написания программного кода микроконтроллеров, что делает его незаменимым для приложений аппаратного уровня датчиков и шлюзов.
Слайд 12Языки программирования IoT
(Интернета вещей)
JavaScript
Для любителей всего "околоJS-ного" есть хорошие новости:
Pi, Arduino или кастомные Bluetooth и Wifi платы, вполне себе
подключаются через Node.js.
Чтобы помочь вам создать свой собственный злой «Робомозг» или умную микроволновку, есть несколько полезных библиотек для вашего следующего проекта.
Johnny-Five – самая популярная платформа для Javascript robotics и IoT под Arduino, Raspberry Pi, Intel Edison Tessel 2.
Cylon.js – фреймворк с поддержкой более 43 платформ, заточенных под интернет вещей, робототехнику и физические вычисления. Хотите построить робота или дрона? Cylon – ваш выбор.
IoTjs – Javascript-фреймворк от Samsung для интернета вещей, требующий для работы всего несколько килобайт оперативной памяти. Удобно, не правда ли? ;)
Слайд 13Языки программирования IoT
(Интернета вещей)
Python
Python начал свой путь как язык сценариев
высокого уровня. Он включает уйму полезных библиотек, и на нем
можно сделать больше работы с применением меньшего количества строк кода. Идеально подходит для аналитической части работы с информацией в системах IoT.
Несомненные плюсы языка Python:
исходный код компактен и понятен, поскольку используется аккуратный синтаксис;
прост в освоении, широко используется, а поддержку можно найти в любом "утюге";
отличный выбор для построения, управления и организации сложных потоков данных без необходимости поддерживать массивные проекты.
Python очень популярен в простых модульных проектах и стартапах, где вычислительный спрос колеблется от минимального до среднего.