<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современная техника и технологии» &#187; Винокуров Анатолий Станиславович</title>
	<atom:link href="http://technology.snauka.ru/author/anatolij_vs/feed" rel="self" type="application/rss+xml" />
	<link>https://technology.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 30 Jan 2026 18:56:12 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Разработка программы удаленного управления компьютером на основе протокола telnet</title>
		<link>https://technology.snauka.ru/2015/02/5775</link>
		<comments>https://technology.snauka.ru/2015/02/5775#comments</comments>
		<pubDate>Fri, 13 Feb 2015 20:20:48 +0000</pubDate>
		<dc:creator>Винокуров Анатолий Станиславович</dc:creator>
				<category><![CDATA[Общая рубрика]]></category>
		<category><![CDATA[client side application]]></category>
		<category><![CDATA[Protocol]]></category>
		<category><![CDATA[remote control PC]]></category>
		<category><![CDATA[server part of the application]]></category>
		<category><![CDATA[telnet]]></category>
		<category><![CDATA[клиентская часть приложения]]></category>
		<category><![CDATA[протокол]]></category>
		<category><![CDATA[серверная часть приложения]]></category>
		<category><![CDATA[удаленное управление компьютером]]></category>

		<guid isPermaLink="false">https://technology.snauka.ru/?p=5775</guid>
		<description><![CDATA[Система удаленного управления является одним из доступных способов администрирования как в сети Интернет, так и в локальной сети. Администратор может видеть рабочий стол удаленного компьютера и выполнять необходимые действия с помощью мыши и клавиатуры, а также получить доступ к другим ресурсам, например, файловой системе компьютера, процессам, реестру, и т.д. В данной статье рассматривается разработка программного [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span style="background-color: white;">Система удаленного управления является одним из доступных способов администрирования как в сети Интернет, так и в локальной сети. Администратор может видеть рабочий стол удаленного компьютера и выполнять необходимые действия с помощью мыши и клавиатуры, а также получить доступ к другим ресурсам, например, файловой системе компьютера, процессам, реестру, и т.д.</span></p>
<p style="text-align: justify;"><span>В данной статье рассматривается разработка программного обеспечения, реализующего работу собственного прикладного уровня по системе удаленного управления в среде разработки Delphi.<br />
</span></p>
<p style="text-align: justify;"><span>Теоретические основы протоколов рассматривались различными авторами <span style="background-color: white;">[1</span>–<span style="background-color: white;">5]</span>. <span style="background-color: white;">Разработкой системы удаленного управления занимались многие российские и зарубежные исследователи. И.В. Белов и др. [6] рассмотрели разработку программного обеспечения по удаленному управлению компьютером на основе протокола </span>telnet. С.А. Вахнин, А.М.<span style="background-color: white;"><br />
</span>Братанин <span style="background-color: white;">[7] </span>предложили и описали структуру программного комплекса, решающего проблему безопасного удаленного управления компьютером при условии отсутствия реальных IP-адресов. <span style="color: black; background-color: white;">Р.И. Баженов, А.П. Корнилков, Д.К. Лопатин </span><span style="background-color: white;">[8] провели исследования в области клиент-серверных технологий</span>. B.A. Myers <span style="background-color: white;">[9] провел исследование в области удаленного управления компьютером и бытовой техникой с помощью портативных устройств.</span> F. E. Bogossiana, Kelletta E.M. Susan и Mason B.<span style="background-color: white;"> [10] рассмотрели использование планшетных компьютеров для удаленного доступа к электронному каталогу.</span><br />
<span style="background-color: white;">Hannifin D., Naomi J. Alpern, Alpern J. [11] рассмотрели новые возможности служб удаленных рабочих столов системы Windows Server 2008 R2, описали процесс установки и настройки опций службы удаленных рабочих столов.</span><br />
<span style="background-color: white;">Y. Shibata [12] было описано построение системы телемедицины с помощью удаленного рабочего стола и сети Интернет.</span><br />
</span></p>
<p style="text-align: justify;"><span>После изучения данных <span style="background-color: white;">материалов, </span>на основе существующего прикладного протокола Telnet была разработана система команд собственного прикладного протокола, реализующая клиент-серверное приложение – систему удаленного управления.<br />
</span></p>
<p style="text-align: justify;"><span>Программное обеспечение состоит из двух частей: серверной и клиентской. Общий вид функционирования команд выглядит таким образом: клиент отправляет запрос на сервер, серверная часть обрабатывает данный запрос и выполняет определенные действия.<br />
</span></p>
<p style="text-align: justify;"><span>Серверная часть реализована на основе компонента Delphi – ServerSocket и вспомогательного объекта OpenDialog, учавствующего в передаче файлов. Программа устанавливается на удаленный компьютер. После запуска приложения открывается сокет и начинается листинг клиентов. После того как произойдет соединение с клиентом, он может посылать команды на удаленный компьютер, который в свою очередь их выполняет.<br />
</span></p>
<p style="text-align: justify;"><span>Клиентская часть состоит из нескольких объектов типа Panel, Image, ClientSocket, Timer, StatusBar и SaveDialog, SpeedButton, LabeledEdit, запускается на компьютере администратора. Для установления соединения необходимо ввести IP-адрес и Port в соответствующие поля (рис. 1).<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/02/021315_2020_1.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 1 – Снимок полей ввода IP-адреса и Порта<br />
</span></p>
<p style="text-align: justify;"><span>Далее необходимо нажать на кнопку «Старт». Происходит открытие сокета и соединение с удаленным компьютером. При подключении на сервер отправляется команда «EXECUTE_SCREENSHOT_X_Y». Серверное приложение считывает команду и создает скриншот рабочего стола в формате «.bmp», затем конвертирует его в «.jpeg» и начинает побитовую отправку изображения. Клиентское приложение получает биты, собирает их и сохраняет изображение. Далее это изображение выводится на форму с интервалом ¼ секунды. Ход подключения и статус соединения отображается в статус баре (рис. 2).<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/02/021315_2020_2.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 2 – Снимок экрана работающей программы<br />
</span></p>
<p style="text-align: justify;"><span>При работе с программой существует возможность управления указателем мыши удаленного компьютера. Серверная часть программы считывает положение мыши (по координатам X и Y) и отправляет данные на сервер. Сервер, получив координаты присваивает их курсору мыши удаленного компьютера. Так же реализован клик левой и клик правой кнопкой мыши по форме в виде команды «LEFT_KLICK_X_Y» и «RIGHT_KLICK_X_Y» соответственно (рис. 3).<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/02/021315_2020_3.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 3 – Снимок экрана работающей программы при клике правой кнопкой мыши<br />
</span></p>
<p style="text-align: justify;"><span>Существует возможность печати на клавиатуре. При печати, клиентская часть считывает программный код соответствующей клавиши и отправляет его серверу. Серверная часть распознает команду и симулирует нажатие (рис. 4).<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/02/021315_2020_4.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 4 – Снимок экрана работающей программы при печати на клавиатуре<br />
</span></p>
<p style="text-align: justify;"><span>При нажатии на кнопку «Открыть/Закрыть CD дисковод» программы клиента, происходит передача соответствующей команды серверу. Сервер получает команду и открывает или закрывает уже открытый дисковод.<br />
</span></p>
<p style="text-align: justify;"><span>При нажатии на кнопку «Отобрать файл» клиентское приложение отправляет команду «GIVE_THE_FILE». Сервер получив команду, открывает окно выбора файла и затем начинает процедуру отправки выбранного клиентом файла. Клиентское приложение начинает процедуру приема файла и сохраняет его на компьютере.<br />
</span></p>
<p style="text-align: justify;"><span>По окончанию работы с приложением, при нажатии на кнопку «Перезагрузка» или «Выключение», клиент передает команду «REBOOT» или «SHUTDOWN» и прерывает соединение. Сервер, получив соответствующую команду, закрывает сокет, закрывает приложение и начинает перезагружать или выключать компьютер. Это сделано для того, чтобы избежать критических ошибок операционной системы.<br />
</span></p>
<p style="text-align: justify;"><span><span style="background-color: white;">Данная программное обеспечение по системе удаленного управления компьютером может применяться с целью помочь пользователям разобраться с их проблемами. В практическом применении, небольшим компаниям нет необходимости нанимать </span>на постоянной основе системного администратора, так как один системный администратор может обслуживать сотни ПК в различных партнерских компаниях и производить управление серверами, не идя в серверную комнату.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://technology.snauka.ru/2015/02/5775/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Создание проекта «танк на острове» в Unity3D</title>
		<link>https://technology.snauka.ru/2015/07/7504</link>
		<comments>https://technology.snauka.ru/2015/07/7504#comments</comments>
		<pubDate>Sun, 05 Jul 2015 20:38:39 +0000</pubDate>
		<dc:creator>Винокуров Анатолий Станиславович</dc:creator>
				<category><![CDATA[Общая рубрика]]></category>
		<category><![CDATA[computer modeling]]></category>
		<category><![CDATA[three-dimensional modeling]]></category>
		<category><![CDATA[Unity3D]]></category>
		<category><![CDATA[virtual reality environment]]></category>
		<category><![CDATA[компьютерное моделирование]]></category>
		<category><![CDATA[среда виртуальной реальности]]></category>
		<category><![CDATA[трехмерное моделирование]]></category>

		<guid isPermaLink="false">https://technology.snauka.ru/?p=7504</guid>
		<description><![CDATA[Кроссплатформенный движок Unity3D, разработанный компанией Unity Technologies, является современным решением для создания игр и приложений для мобильных устройств, игровых приставок и персональных компьютеров. Существует возможность тестирования разрабатываемого проекта во время его создания. Одной из возможности Unity является возможность импортировать модели и анимацию практически из всех 3D приложений разработки. Исследованиями в области моделирования и применения Unity3d [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-align: justify;">Кроссплатформенный движок Unity3D, разработанный компанией Unity Technologies, является современным решением для создания игр и приложений для мобильных устройств, игровых приставок и персональных компьютеров. Существует возможность тестирования разрабатываемого проекта во время его создания. Одной из возможности Unity является возможность импортировать модели и анимацию практически из всех 3D приложений разработки.</span></p>
<p style="text-align: justify;"><span>Исследованиями в области моделирования и применения Unity3d занимались многие российские и зарубежные исследователи. <span style="color: black; background-color: white;">Л.С.Зеленко, Д.А.Загуменнов [1] рассмотрели вопросы, связанные с разработкой дистанционной обучающей системы, построенной на технологии виртуальных миров.</span><br />
<span style="color: black;"><span style="background-color: white;">Описали технологические особенности реализации системы и ее составные части, а также преимущества использования трехмерного пространства и игрового подхода при дистанционном обучении. </span>Л.С.Зеленко, Д.А.Загуменнов и А.О.Зинченко <span style="background-color: white;">[2] рассмотрели вопросы, связанные с разработкой виртуальной информационно-образовательной среды, а также описали структуру учебного курса и виртуального пространства. Н.С.Галкин и Е.А.Ромин [3]</span></span> рассмотрели <span style="color: black;"><span style="background-color: white;">методы создания трехмерной модели местности для эффективного использования в Unity3D.</span><br />
<span style="background-color: white;">О.С.Ходос, Р.И.Баженов [4-7] провели исследование по применению технологий сред виртуальной реальности в образовательном процессе на основе изучения среды виртуальной реальности Unity3D, а также разработали учебно-методический комплекс. М.Е.Якобсон, Г.М.Гринберг [8] обосновали необходимость использования технологии компьютерного моделирования в учебном процессе, а также предложили использовать для этого мультиплатформенный инструмент Unity. </span>M.Bergera и V.Cristie <span style="background-color: white;">[9] рассмотрели реализацию CFD пост-обработки для преобразования проекта в Unity3D и визуализации метеорологических данных с целью преодоления разрыва между архитектурными и инженерными разработками в архитектурном дизайне города.</span> C.Becker-Asanoa, F.Ruzzolia, C.Hölscherb, B.Nebel <span style="background-color: white;">[10] разработали систему мульти-агента на основе игрового движка Unity 4, а также смоделировали трехмерный (3D) способ моделирования ориентирования и поведения нескольких сотен пассажиров в аэропорту.</span> J.Wang, R.Lindeman <span style="background-color: white;">[11] построили новую гибридную систему виртуальной среды для эффективного взаимодействия в виртуальном пространстве. Предложили четыре координационных механизмов для сглаживания контекстных переходов в HVEs. D.Richards, M.Taylor [12] в своем исследовании изучили проблему анализа затрат и выгод создания виртуальных 3D миров по отношению к альтернативным методам обучения.<br />
</span></span></span></p>
<p style="text-align: justify;"><span><span style="color: black; background-color: white;">Исследовательской задачей является описание проекта по созданию игры с двумя сценами в среде виртуальной реальности</span> Unity3D<span style="color: black; background-color: white;">.<br />
</span></span></p>
<p style="text-align: justify;"><span><span style="color: black; background-color: white;">Для начала </span>создадим новый проект. Создадим участок земли (Terrain), зададим ему положение и размер. Добавим к созданной сцене источник освещения (Directional Light). При создании рельефа земли, предадим нашему участку форму острова и создадим в центре его небольшой вулкан, а на краю острова – крутые скалы. Внутри вулкана создадим углубление – в дальнейшем там будет располагаться небольшое озеро и именно с этого момента будет начинаться первая сцена проекта.<br />
</span></p>
<p style="text-align: justify;"><span>При помощи компонента «Paint Texture» зададим песочную текстуру всему острову и текстуру камня скалам. Для добавления растительности острову воспользуемся компонентами «Places Trees» и «Paint Details». В нашем проекте также присутствуют специфические растения (такие как пальмы и кусты), созданные и импортированные из приложения «Cheetah 3D».<br />
</span></p>
<p style="text-align: justify;"><span>Добавим в наш проект небо (компонент Skybox) и воду (компонент Water Basic). Данные компоненты являются стандартными и входят в состав условно – бесплатной версии Unity3d.<br />
</span></p>
<p style="text-align: justify;"><span>В проект были добавлены и размещены созданные в приложении «<span style="color: black; background-color: white;">3D Studio Max»</span> модели трех небольших островов, небольших зданий, животных, яхты и самолета (<span style="color: black; background-color: white;">рис. 1-2).</span><br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/07/070515_2038_1.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><span style="color: black; background-color: white;">Рисунок 1 – Создание нового проекта острова в </span>Unity3D<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/07/070515_2038_2.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><span style="color: black; background-color: white;">Рисунок 2 – Создание вулкана на острове в </span>Unity3D<br />
</span></p>
<p style="text-align: justify;"><span>Теперь добавим компонент First Person Controller для возможности взаимодействия пользователя с игровым пространством (рис 3).<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/07/070515_2038_3.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><span style="color: black; background-color: white;">Рисунок 3 – Размещение </span>First Person Controller<span style="color: black; background-color: white;"> и других игровых объектов в </span>Unity3D<br />
</span></p>
<p style="text-align: justify;"><span>В данном проекте были использованы учебные наработки, сделанные по дисциплине «Основы трехмерного моделирования в Unity3D». Такими разработками являются часы, расположенные на одной из сторон вулкана.<br />
</span></p>
<p style="text-align: justify;"><span>Далее создадим анимацию движения игровых объектов (катер и самолет) и добавим в проект ветер (WindZone) (рис 4).<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/07/070515_2038_4.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><span style="color: black; background-color: white;">Рисунок 4 – Размещение игровых объектов в </span>Unity3D<br />
</span></p>
<p style="text-align: justify;"><span>Добавим скрипт переключения анимации для движения акул таким образом, чтобы они не выплывали на сушу, но при этом реагировали на погружение игрока в воду (рис 5).<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/07/070515_2038_5.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><span style="color: black; background-color: white;">Рисунок 5 – Взаимодействие игровых объектов в </span>Unity3D<br />
</span></p>
<p style="text-align: justify;"><span>Сохраним сцену. После чего сделаем дубликат первой сцены.<br />
</span></p>
<p style="text-align: justify;"><span>Перейдем к работе со второй сценой. При дублировании она получилась идентична первой сцене.<br />
</span></p>
<p style="text-align: justify;"><span>Удалим компонент First Person Controller со второй сцены.<br />
</span></p>
<p style="text-align: justify;"><span>Добавим к новой сцене созданную предварительно в «<span style="color: black; background-color: white;">3D Studio Max»</span> модель танка (рис 6).<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/07/070515_2038_6.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><span style="color: black; background-color: white;">Рисунок 6 – Модель танка в сцене</span> Unity3D<br />
</span></p>
<p style="text-align: justify;"><span>Предадим танку массу и физику. На вкладке Hierarchy выберем обьект танк. Из строки меню «панель инструментов» выберем «Rigidbody». Зададим массу танка в соответствующих полях компонента «Rigidbody».<br />
</span></p>
<p style="text-align: justify;"><span>Для того чтобы наш танк вел себя соответственно с местностью, реагируя на каждую кочку, присвоим ему компонент «Box Collider». В окне Inspector изменим размер Box Collider таким образом, чтобы гусеница танка немного проваливалась в грязь, но при этом танк не проходил через землю насквозь.<br />
</span></p>
<p style="text-align: justify;"><span>Дадим пользователю возможность управлять танком. Для этого установим на танк компонент «Platform Input Controller». Теперь займемся вращением башни и пушки танка. Для этого сгруппируем объекты, относящиеся непосредственно к башне и объекты относящиеся к стволу пушки по отдельности при помощи пустого объекта «Empty». Это в дальнейшем даст возможность синхронного поворота всех частей башни сразу. Для ныне сгруппированных объектов присвоим заранее написанный скрипт, отвечающий за поворот башни при нажатии на клавиши влево и вправо («a» и «d») и поворот пушки вверх и вниз («w» и «s»).<br />
</span></p>
<p style="text-align: justify;"><span>Создадим префаб снаряда и присвоим скрипт стрельбы к дулу пушки. Теперь при нажатии на клавишу «Пробел» будет происходить создание снаряда и выстрел им по заданному вектору.<br />
</span></p>
<p style="text-align: justify;"><span>Присвоим танку звук двигателя и звук взрыва снаряда для предания большей реалистичности игре.<br />
</span></p>
<p style="text-align: justify;"><span>Присвоим текстуру камуфляжа к получившемуся танку (рис. 7).<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/07/070515_2038_7.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span style="color: black; times new roman; 12pt; background-color: white;">Рисунок 7 – Модель танка с привязанной текстурой, камерой и звуком<br />
</span></p>
<p style="text-align: justify;"><span>Для перехода между сценами напишем скрипт, описанный в методических разработках [13].<br />
</span></p>
<p style="text-align: justify;"><span>Для того чтобы пользователь не смог, въехав в воду на танке утонуть, пропишем скрипт «Respawn», описанный в методической разработке [13].<br />
</span></p>
<p style="text-align: justify;"><span>Перейдем к созданию врагов. Разместим на сцене несколько объектов и пропишем скрипт преследования пользователя. Скрипт был взят с сайта [14] и доработан таким образом, чтобы при попадании во врагов снарядом они уничтожались.<br />
</span></p>
<p style="text-align: justify;"><span><span style="color: black; background-color: white;">В результате исследования была продемонстрирована реализация проекта по созданию собственной игры с двумя сценами: персонажем от первого лица в одной, и моделью управляемого танка в другой. Данный материал могут использовать студенты при работе с </span>кроссплатформенным движком Unity3D<span style="color: black; background-color: white;"> по дисциплине «Основы трехмерного моделирования в Unity3D».</span></span></p>
]]></content:encoded>
			<wfw:commentRss>https://technology.snauka.ru/2015/07/7504/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка кроссплатформенного мобильного приложения в среде RAD Studio XE8</title>
		<link>https://technology.snauka.ru/2017/02/11878</link>
		<comments>https://technology.snauka.ru/2017/02/11878#comments</comments>
		<pubDate>Tue, 21 Feb 2017 11:31:54 +0000</pubDate>
		<dc:creator>Винокуров Анатолий Станиславович</dc:creator>
				<category><![CDATA[Общая рубрика]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[information technology]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[it project]]></category>
		<category><![CDATA[mobile app]]></category>
		<category><![CDATA[mobile application development]]></category>
		<category><![CDATA[mobile device]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[project development]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[информационные технологии]]></category>
		<category><![CDATA[ИТ-проект]]></category>
		<category><![CDATA[мобильное приложение]]></category>
		<category><![CDATA[мобильное устройство]]></category>
		<category><![CDATA[платформа]]></category>
		<category><![CDATA[проект разработки]]></category>
		<category><![CDATA[разработка мобильных приложений]]></category>

		<guid isPermaLink="false">https://technology.snauka.ru/?p=11878</guid>
		<description><![CDATA[В настоящее время невозможно представить ни одно мобильное устройство, будь то смартфон, планшет или смарт часы, без установленных на него мобильных приложений. На данный момент существуют следующие виды мобильных приложений: кроссплатформенные, нативные, веб-приложения и гибридные приложения. Мобильные веб-приложения разработаны на основе веб-браузера мобильного устройства и при каждом запуске загружаются с веб-сервера, что задает необходимость в [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">В настоящее время невозможно представить ни одно мобильное устройство, будь то смартфон, планшет или смарт часы, без установленных на него мобильных приложений. На данный момент существуют следующие виды мобильных приложений: кроссплатформенные, нативные, веб-приложения и гибридные приложения. Мобильные веб-приложения разработаны на основе веб-браузера мобильного устройства и при каждом запуске загружаются с веб-сервера, что задает необходимость в наличии устойчивого интернет соединения. Главным преимуществом мобильных веб-приложений над нативными приложениями является их кроссплатформенная совместимость. Нативные приложения разрабатываются специально для конкретного типа устройства и его операционной системы, и могут использовать встроенные функции мобильного устройства (например, GPS, камеру, календарь, файловый менеджер). Гибридные мобильные приложения разрабатываются для конкретной операционной системы, и представляют собой сочетание нативных и веб-приложений. Кроссплатформенные приложения схожи по структуре и выполняемым функциям с нативными приложениями, но их скомпилированный исходный код может выполняться на нескольких мобильных платформах.</p>
<p style="text-align: justify;">Согласно теме нашего исследования, мы рассмотрим разработку кроссплатформенного мобильного приложения, выполняющего функции интерактивного GPS навигатора.</p>
<p style="text-align: justify;">Исследованиями в области разработки мобильных приложений занимались многие российские и зарубежные исследователи. А.С. Винокуров, Р.И. Баженов [1 – 6] рассмотрели разработку приложений для мобильных устройств. К.В. Аксенов [7] рассмотрел средства для нативной и кроссплатформенной разработки мобильных приложений. Е.С. Майорова, В.А. Ошурков, Л.С. Цуприк [8] провели анализ рынка мобильных технологий на предмет актуальности их использования на предприятиях различных сфер деятельности и определили целесообразность использования и разработки приложений по мониторингу производственного процесса на мобильных устройствах. Е.А. Зотова, М.И. Притчина [9] провели анализ развития программных платформ iOS и Android. В.К. Жеурова, Е.Г. Лаврушина [10] рассмотрели разработку мобильного приложения, выполняющего функции интерактивного путеводителя по безопасности в путешествии по городу Владивосток. Малиевский Я.Г., Якимов А.С., Баженов Р.И. [11] рассмотрели разработку информационной системы для ОС Android, позволяющей информировать и оповещать студентов университета о различных объявлениях и обновлении расписания. E.N. Amirgaliyev, A.U. Kalizhanova, A.KH. Kozbakova [12] описали разработку мобильного приложения для ОС Android, позволяющего выполнять все операции, связанные с матрицами и векторами. T. Shatovska, V. Kauk, Ie Kovalov [13] провели анализ технологий для обнаружения географических координат с помощью мобильных устройств, а также выявили основные способы обработки данных о местоположении на устройстве Android. YU.S. Chemerkin, T.I. Kuzmenko [14] провели исследования защиты конфиденциальности данных в кроссплатформенных мобильных приложениях. D. Namiot, M. Sneps-sneppe [15] провели обзор программных платформ разработки для M2M приложений.</p>
<p style="text-align: justify;">В соответствии с темой исследования, в качестве платформы для создания кроссплатформенных мобильных приложений была выбрана интегрированная среда разработки «Embarcadero RAD Studio» [16], объединяющая в себе языки программирования Delphi и C++.</p>
<p style="text-align: justify;">При разработке интерфейса нашего мобильного приложения были использованы стандартные компоненты «RAD Studio», расположенные на странице палитры компонентов, а именно: компонент TListBox, предназначенный для отображения списка в выдвижном интерактивном меню; компонент TSpeedButton, предназначенный для вызова выдвижного меню; TWebBrowser, предназначенный для отображения карты и обеспечения взаимодействия с ней пользователя; а также не визуальный компонент TLocationSensor, предназначенный для считывания GPS координат с датчика устройства (рис. 1).</p>
<p style="text-align: justify;"><a href="https://technology.snauka.ru/2017/02/11878/snimok-ekrana-1" rel="attachment wp-att-11879"><img class="aligncenter size-full wp-image-11879" src="https://technology.snauka.ru/wp-content/uploads/2017/01/Snimok-e`krana-1.png" alt="" width="1280" height="663" /></a></p>
<p style="text-align: center;">Рисунок 1 – Разработка интерфейса мобильного приложения в «RAD Studio»</p>
<p style="text-align: justify;">Для получения доступа к датчику устройства в настройках проекта «RAD Studio» были активированы необходимые разрешения (рис. 2).</p>
<p style="text-align: justify;"><a href="https://technology.snauka.ru/2017/02/11878/snimok-ekrana-2" rel="attachment wp-att-11880"><img class="aligncenter size-full wp-image-11880" src="https://technology.snauka.ru/wp-content/uploads/2017/01/Snimok-e`krana-2.png" alt="" width="741" height="634" /></a></p>
<p style="text-align: center;">Рисунок 2 – Установка разрешений в настройках проекта «RAD Studio»</p>
<p style="text-align: justify;">При запуске приложение срабатывает событие OnLocationChanged компонента TLocationSensor и происходит считывание координат с датчика устройства пользователя. Такие координаты представлены в виде целых чисел с дробной десятичной частью отделенной запятой. Так как Google Карты могут воспринимать только числовые значения координат, представленные целым числом с дробной десятичной частью отделенной точкой, то нам необходимо преобразовать координаты полученные с датчика устройства в необходимый формат при помощи написанного нами кода (рис. 3).</p>
<p style="text-align: justify;"><a href="https://technology.snauka.ru/2017/02/11878/snimok-ekrana-3" rel="attachment wp-att-11881"><img class="aligncenter size-full wp-image-11881" src="https://technology.snauka.ru/wp-content/uploads/2017/01/Snimok-e`krana-3.png" alt="" width="611" height="412" /></a></p>
<p style="text-align: center;">Рисунок 3 – Часть кода, выполняющая преобразование формата координат</p>
<p style="text-align: justify;">Теперь значение новых координат выглядят правильно и компонент TWebBrowser может без проблем отображать интерактивную карту Google.</p>
<p style="text-align: justify;">При нажатии на кнопку (TSpeedButton) выдвигается меню, содержащее информацию о текущем местоположении пользователя. Такой информацией является: название страны, код страны, регион, город, улица, дом. Выдвижное меню было введено в проект специально, чтобы не загромождать интерактивную карту на устройствах пользователя с небольшой диагональю экрана, а также для обеспечения поддержки различных ориентаций экрана.</p>
<p style="text-align: justify;">Данное мобильное приложение было протестировано на устройствах под управлением операционных систем Android, iOS, Windows Phone. Приложение имеет простой, интуитивно понятный интерфейс, адаптируется под размер дисплея устройства (рис. 4–5).</p>
<p style="text-align: center;"><a href="https://technology.snauka.ru/2017/02/11878/screenshot_2017-01-27-1" rel="attachment wp-att-11882"><img class="aligncenter size-full wp-image-11882" src="https://technology.snauka.ru/wp-content/uploads/2017/01/Screenshot_2017-01-27-1.png" alt="" width="1280" height="800" /></a>Рисунок 4 – Установленное мобильное приложение на Android планшет</p>
<p style="text-align: center;"><a href="https://technology.snauka.ru/2017/02/11878/screenshot_2017-01-27-2" rel="attachment wp-att-11883"><img class="aligncenter size-full wp-image-11883" src="https://technology.snauka.ru/wp-content/uploads/2017/01/Screenshot_2017-01-27-2.png" alt="" width="1280" height="800" /></a></p>
<p style="text-align: center;">Рисунок 5 – Установленное мобильное приложение на Android планшет</p>
<p style="text-align: justify;">В результате исследования был описан проект разработки кроссплатформенного мобильного приложения в интегрированной среде разработки «Embarcadero RAD Studio». Практическим результатом исследования является рабочее мобильное приложение, протестированное на мобильных устройствах под управлением операционных систем Android, iOS, Windows Phone, и выполняющего функции интерактивного GPS навигатора.</p>
]]></content:encoded>
			<wfw:commentRss>https://technology.snauka.ru/2017/02/11878/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
