Информационная система для компактного мобильного устройства
Предложен метод создания приложений для таких устройств, в котором сочетается одновременно полная переносимость на другие аналогичные устройства, а также на полноценный компьютер. Обоснование эффективности использования языка программирования Javascript.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 15.01.2019 |
Размер файла | 5,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Информационная система для компактного мобильного устройства
В.В. Коновалов
младший научный сотрудник лаборатории информационных систем
Современные электронные карманные устройства обладают. достаточно высокой вычислительной мощностью, что позволяет реализовывать на них полноценные алгоритмы на высокоуровневых языках программирования.
В статье предложен метод создания приложений для таких устройств, в котором сочетается одновременно полная переносимость на другие аналогичные устройства, а также на полноценный компьютер. В некоторых случаях возможно внесение усовершенствований в алгоритм непосредственно на данном компактном устройстве, в особенности если имеется клавиатура.
Для различных задач используются различные языки программирования и среды разработки, которые учитывают специфику конкретно поставленной задачи.
Для того, чтобы приложение работало на различных платформах, одним из наиболее удобных решений является использование языка программирования Javascript. Фактически данный язык программирования присутствует в любом устройстве, которое поддерживает выход в глобальную сеть Internet.
Всевозможные мобильные устройства имеют различные архитектуры, и для каждой из этих архитектур имеется, как правило, среда разработки (SDK), предназначенная для разработки приложений для операционной системы данной архитектуры. Такая среда разработки генерирует машинный код, выполняемый на рассматриваемом устройстве и не совместим с другими устройствами. В связи с этим использование SDK является трудоёмким и узконаправленным решением.
Однако, если в устройстве имеется Internet browser, в этом случае появляется возможность реализовывать приложения на языке Javascript, что позволяет существенно облегчить разработку и обеспечить переносимость приложения.
Метод разработки информационной системы для компактного мобильного устройства
В силу исторических причин, связяанных со спецификой использования Javascript, в качестве основного языка для создания динамических страниц HTML, в данном языке изначально отсутствовали функции работы с файлами локальной файловой системы.
Поскольку в языке Javascript отсутствует возможность чтения файлов [4], [1], имеется проблема получения входных данных. Имеется возможность использования технологии баз данных [2], однако черновая версия спецификации не принята в технологии HTML и является несвоместимой и проблематичной.
В данной статье предлагается использование подхода, в котором программные данные включаются в систему более удобно реализуемым и универсальным способом.
А именно, для не слишком большого объёма данных (несколько мегабайт) возможно преобразование программных данных напрямую в текст кода Javascript, при помощи следующей Перл-программы:
Рисунок 1: Программа преобразования текстового файла в код Javascript
информационный приложение мобильный устройство
Например, имелся текстовый файл с данными следующего вида -
---===--- Eesti
eesti <eesti>эстонский
===---===
---===--- a
<_ _ _[d-, _[de _[sid>буква _
===---===
---===--- aabe
<_ aape _[t-, _[te aape[id>буква
===---===
---===--- aabits
<_ _a _a[t-, _a[te _a[id>букварь, азбука, азы чего
===---===
---===--- aabitsa
азбучный, букварный
===---===
---===--- aabitsatхde
азбучная ~ прописная истина
===---===
---===--- aade
<_ aate _[t-, _[te aate[id>идеал, [высокая] идея
===---===
для него создаётся файл с расширением JS cо следующим содержимым:
var sonastik = ";Eesti^eesti эстонский;a^_ 1. буква _;aabe^_ буква;aabits^_ букварь, азбука, азы чего;aabitsa^_ азбучный, букварный;aabitsatхde^_ азбучная ~ прописная истина;aade^_ идеал, [высокая] идея;"
Затем, после включения данного фрагмента Javascript строкой
<script src="so~nastik-1-small.str.js"></script>
в переменной имеется требуемый текстовый массив.
Пример приложения
Поставлена задача со следующими входными ограничениями:
· приложение должно иметь удобный пользовательский интерфейс;
· использовать (мобильное) устройство с небольшим объёмом памяти.
· поиск по словарной статье выполняется в режиме offline, то есть без доступа в интернет
· предполагается переносимость на различные устройства, то есть желательно отсутствие привязанности к конкретной модели устройства
Примерный интерфейс имеет следующий вид -
Рисунок 2: мобильный словарь на Nokia C6700c
Аналогичное приложение на устройстве с большим количеством памяти допускает наличие более расширенных словарных статей.
Рисунок 3: мобильный словарь на устройстве с Android
Приведённый в качестве примера интерфейс предусматривает наличие подсказки словарной статьи в процессе набора слова. Также, возможно использование стандартных библиотек для реализации визуальных эффектов и, например, распаковки сжатых данных (zlib-inflate.js [3]).
<html>
<head><meta charset="utf-8"></head>
<body>
<style type="text/css">
#res {
background-color: #eeeeee;
outline-style: groove;
outline-color: #1111ff;
padding-left: 10px;
}
.sona-follow {
display: inline;
background-color: #eeeeee;
text-decoration: underline;
color: blue;
}
.sona-follow-m {
display: inline;
background-color: #f0f0f0;
text-decoration: underline;
color: black;
}
</style>
<p>слово:<input style="width: 2cm;" id="ee" type="text"></input><button id="ee-seek">поиск</button></p>
<div id="preview"> <p>...</p> </div><div id="res"> </div>
<script src="so~nastik-1-small.str.js"></script>
<script>
var ee =document.getElementById("ee");
var res =document.getElementById("res");
var prev =document.getElementById("preview");
var butt =document.getElementById("ee-seek");
ee.onkeyup = function () {
// seek in word list ;list
var que = ee.value.replace(/ +$/,'').toLowerCase();
var k=0, k0, k2, k3, r = new Array(), cq=";"+que;
var k4 = cq.length, k5;
// beginning of word .... ;blabla^
while ( (k0=sonastik.indexOf(cq,k)) != -1) {
k5 = sonastik.indexOf("^",k0+1);
r.push(
"<div class='sona-follow' onclick='javascript:ee.value=\""
+sonastik.substring(k0+1, k5)+"\";search_s();'>"+
"<b>"+que+"</b>"+sonastik.substring(k0+k4, k5) + "</div>"
);
k=k0+1;
if (r.length>15)
break;
}
// middle of word ....
r.push(' <br> ');
k=0;
while ( (k0=sonastik.indexOf(que,k)) != -1) {
if (sonastik.substring(k0-1,k0) != ";") {
// BUT- check that it falls into word definition, first!
k2 = sonastik.indexOf(';',k0+1);
k3 = sonastik.indexOf('^',k0+1);
if (k2<k3) {
// indeed, false positive
k=k0+1;
continue;
}
k5 = sonastik.lastIndexOf(";",k0)+1;
r.push(
"<div class='sona-follow-m' onclick='javascript:ee.value=\""+sonastik.substring(k5,k3)+"\";search_s();'>"+
sonastik.substring(sonastik.lastIndexOf(";",k0)+1,k0)
+ "<b>" + que + "</b>"
+ sonastik.substring(k0+que.length,k3) +"</div>"
);
}
k=k0+1;
if (r.length>25)
break;
}
prev.innerHTML = "<p>" + r.join(' ') + "</p>";
}
function search_s () {
var s = ee.value.replace(/ +$/,'').toLowerCase(), k0, k1;
if ((k0=sonastik.indexOf(";"+s+"^")) != -1) {
k0 += 2+s.length;
// found...
k1=sonastik.indexOf(";",k0);
var str=sonastik.substring(k0,k1); //assert k1!=-1
res.innerHTML = ("<p>"+
str.replace(/_/g, s).replace(/&/g,'&')
.replace(/</g,'<')
.replace(/\n/g, "<br>")+"</p>");
}
}
butt.onclick = search_s;
ee.focus();
</script>
</body></html>
Заключение
Широкие возможности языка программирования Javascript делают возможным создание полноценных приложений для мобильных устройств, как работающих в режиме онлайн, так и без подключения к интерету. Во многих случаях создание таких приложений возможно непосредственно на мобильном телефоне, что было экспериментально подтверждено.
Литература
1. ECMAScript Language Specification (http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf)
2. http://dev.w3.org/html5/webstorage/
3. http://www.onicos.com/staff/iz/release/zlib-js/zlib-js.html
4. JavaScript: The Definitive Guide, 5th Edition, Publisher: O'Reilly Pub Date: August 2006 Print ISBN-10: 0-596-10199-6 Print ISBN-13: 978-0-59-610199-2
Размещено на Allbest.ru
...Подобные документы
Основы создания мидлетов (midlet) - MIDP приложений для мобильных устройств на языке Java. Особенности устройств, для которых мидлеты предназначены. Библиотеки javax.microedition. Практические примеры создания MIDP приложений для телефона и их запуск.
методичка [25,9 K], добавлен 30.06.2009Исследование возможностей и областей использования языка программирования JavaScript. Сравнительный анализ языков программирования JavaScript и PHP. Разработка интерактивного Web-приложения на примере теста по теме "Программирование на языке Delphi".
практическая работа [26,0 K], добавлен 04.02.2015Сравнительная характеристика, возможности и функции языков программирования JavaScript и PHP. Основные области их использования. Разработка интерактивного Web-приложения с применением JavaScript на примере теста по теме "Программирование на языке Delphi".
курсовая работа [19,3 K], добавлен 01.07.2014Типизация данных в JavaScript. Правила объявления локальных и глобальных переменных. Объявление и использование функций. Открытие и закрытие файла, запись в него и чтение из него. Создание теста с использованием средств языка программирования PHP скрипт.
контрольная работа [73,8 K], добавлен 25.01.2016Характеристика возможностей редактора DreamWeaver и Front Page. Особенности языков программирования PHP и JavaScript. Основные требования, предъявляемые к Web-странице. Специфика программного обеспечения для ее создания и эффективности использования.
курсовая работа [44,6 K], добавлен 03.02.2011Практическая значимость создания сайта. Язык программирования JavaScript. Основные области использования языка JavaScript при создании интерактивных HTML-страниц. Язык программирования PHP. Программная основа сайта. Создание оформления дизайна сайта.
дипломная работа [1,1 M], добавлен 05.03.2013Создание интерактивных веб-страниц. Что такое JavaScript. Полная интеграция с браузером. Мощные средства для создания сетевых соединений. Подключение и выполнение JavaScript. Загрузка данных без перезагрузки страницы. Объекты для работы с мультимедиа.
лекция [16,2 K], добавлен 05.02.2012Базовый синтаксис языка сценариев JavaScript. Создание страниц, включающих в себя программы, которые взаимодействуют с пользователем, управляют браузером и динамически создают HTML-содержимое. Работа с объектами, которые инкапсулируют данные и поведение.
лабораторная работа [58,6 K], добавлен 25.05.2016Описание нестандартных компьютерных периферийных устройств: компактного принтера, мыши для 3D-дизайнеров, графического планшета, проекционной инфракрасной клавиатуры, 3D-принтера. Их внешний вид, возможности, способы использования и характеристики.
реферат [1,0 M], добавлен 20.10.2014Разработка программного решения по созданию мобильного приложения. Изучение технологий для разработки приложений. Анализ работы торговых агентов. Обоснование выбора языка программирования. Проектирование интерфейса структуры и верстка, листинг программы.
дипломная работа [2,2 M], добавлен 08.06.2017Анализ компьютерных устройств для хранения информации: винчестеры, компакт-диски, DVD (цифровой многоцелевой диск), HD DVD (DVD высокой четкости), голографические многоцелевые диски, минидиски (MD), а также устройства для записи компакт-дисков.
реферат [27,0 K], добавлен 23.09.2008Рассмотрение понятия и классификации Web-технологий. Основные требования к созданию главной страницы сайта, раздела "О нас", контента, привязанности. Определение направлений использования языков программирования HTML, PHP, JavaScript, VBScript, Perl.
курсовая работа [49,3 K], добавлен 13.07.2010Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.
курсовая работа [987,1 K], добавлен 27.06.2019Особенности создания сайта "Ремонт и эксплуатация автомобилей ВАЗ" содержащего необходимую информацию поэтапной разборки запчастей, а также устранение неисправностей, написанного с использованием языка гипертекстовой разметки HTML и языка JavaScript.
дипломная работа [10,5 M], добавлен 04.06.2019Особенности составления программы (сценария) на языке JavaScript. Построение выражений из литералов, переменных, знаков операций, скобок. Элементы, используемые для хранения данных. Приоритет операций, порядок, в котором выполняются операции в выражении.
лабораторная работа [40,2 K], добавлен 19.09.2019Компьютерные сети и протоколы передачи данных. Устройства, взаимодействующие с компьютерными сетями при помощи протоколов передачи данных. Мобильные вычислительные устройства и операционные системы. Клиент-серверное приложение для управления расписанием.
дипломная работа [1,8 M], добавлен 11.12.2015Изучение устройств ввода информации как приборов, осуществляющих перевод языка человека на машинный язык для занесения информации в компьютер. Функциональные возможности устройств ввода: клавиатура, мышь, джойстик, сканер, камера и графический планшет.
презентация [2,7 M], добавлен 02.05.2011Разработка интернет вещей как системы взаимосвязанных вычислительных устройств, механических, цифровых машин, предметов. Принцип взаимодействия элементов Умной Розетки. Тестирование устройства. Составление программы для мобильного устройства. Код Розетки.
контрольная работа [2,2 M], добавлен 20.10.2016Основные приемы работы в среде программирования Delphi. Особенности технологии создания простейших приложений. Работа с компонентами среды разработки приложений. Ввод, редактирование, выбор и вывод информации. Аспекты использования структуры ветвления.
методичка [619,9 K], добавлен 17.11.2011Понятие и специфические особенности языка программирования Си, история его создания. Интегрированная система Borland C. Процесс программирования с помощью данного языка. Графические примитивы в языках программирования. Преобразования на плоскости.
курс лекций [782,2 K], добавлен 04.10.2011