Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Как установить и запустить приложение для облачной ОС eyeOS

Работа добавлена на сайт samzan.net:


Как установить и запустить приложение для облачной ОС eyeOS

Приложения для eyeOS устанавливаются в подкаталог apps.

Пример пути к данному подкаталогу:

 /usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/apps

Дополнительные модули, в частности, написанные на JavaScript и предназначенные для выполнения в браузере на стороне клиента, располагаются в подкаталоге extern/apps.

Пример пути: /usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/extern/apps

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

/usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/apps/share

/usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/extern/apps/eyeX

и, возможно, в некоторые другие. Всё определяется составом установочного пакета конкретного приложения (файл с расширением .eyepackage).

Если требуется вручную установить некоторое приложение, например, HelloWorld, то необходимо скопировать в подкаталог apps подкаталог HelloWorld, который содержит следующие файлы установочного пакета:

app.eyecode (на языке PHP)

events.eyecode (на языке PHP)

info.xml (информация о приложении)

Простейшее приложение HelloWorld не нуждается в дополнительных модулях, поэтому в каталог extern/apps и другие дополнительные подкаталоги ничего копировать не нужно.

Для более сложных приложений, например, eyeCalc, входящего в установочный комплект eyeOS, подкаталог extern/apps содержит соответствующий подкаталог eyeCalc, в котором находятся следующие файлы:

eyeCalc.eyecode (на языке PHP)

eyeCalc.js (на языке JavaScript)

eyeCalc.min.js (на языке JavaScript без разделения на строки – для ускорения выполнения в браузере?)

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

Прежде чем приводить пример файлов приложения HelloWorld, обратим внимание на правила именования подкаталога пакета и функций программ PHP. Имя подкаталога, содержащего файлы приложения (в данном случае HelloWorld),  и префиксов функций, описанных в файлах *.eyecode (например, HelloWorld_run), должны совпадать. В противном случае приложение не будет работать.

Также обратим внимание на тот факт, что в случае запуска сервера apache на *nix-сервере все текстовые файлы пакета имеют формат, принятый для текстовых файлов в ОС UNIX, т.е. строки завершаются управляющим символом <LF> (перевод строки), в то время как в ОС Windows принят другой формат текстовых файлов, в которых строки завершаются парой символов <CR> (возврат каретки) и <LF>. Это может вызвать проблему совместимости при редактировании таких файлов текстовым редактором под Windows.

Возможны, по крайней мере, следующие три способа запуска приложений под eyeOS:

1. Выбор пункта Launch App в выпадающем меню, которое появляется при нажатии круглой кнопки в “панели задач”, располагающейся в самом низу экрана справа. В качестве имени приложения указываем, например, HelloWorld. Этот способ похож на запуск программ в Windows“Пуск/Выполнить…”.

2. Меню в верхней части экрана: Accessories/Process Manager – вкладка Processes, кнопка New process.

3. Создание ярлыка на рабочем столе: щелчок правой кнопкой мыши и выбор пункта “New launcher” в выпадающем меню. Здесь также можно выбрать значок для ярлыка.

Ниже приводится текст файлов приложения HelloWorld, которые находятся в подкаталоге

 /usr/local//www/apache22/data/eyeOS/eyeOSeebe3bc4ed/apps/HelloWorld

Префиксы имен, которые должны совпадать с именем подкаталога приложения (HelloWorld) выделены цветным маркером.

app.eyecode:

<?php

/*

                                 ____   _____

                                / __ \ / ____|

                 ___ _   _  ___| |  | | (___

                / _ \ | | |/ _ \ |  | |\___ \

               |  __/ |_| |  __/ |__| |____) |

                \___|\__, |\___|\____/|_____/

                      __/ |

                     |___/              1.9

                    Web Operating System

                          eyeOS.org

            eyeOS Engineering Team - www.eyeos.org/team

    eyeOS is released under the GNU Affero General Public License Version 3 (AGPL3)

           provided with this release in license.txt

            or via web at gnu.org/licenses/agpl-3.0.txt

       Copyright 2005-2009 eyeOS Team (team@eyeos.org)

*/

function HelloWorld_run($params = '') {

// First we create a new Window:

$myWindow = new Window(array(

 'cent' => 1,

 'father' => 'eyeApps',

 'height' => 150,

 'name' => 'HelloWorld_Window',

 'title' => 'Example Application',

 'width' => 250

));

$myWindow->show();

// Now we create the initial "Hello World!" Label:

$myLabel = new Label(array(

 'father' => 'HelloWorld_Window_Content',

 'name' => 'HelloWorld_Label',

 'text' => 'Hello World!',

 'x' => 20,

 'y' => 20

));

$myLabel->show(0);

// Afterwards we create the Textbox, where the user

// will add the new "Hello World!" message:

$myTextbox = new Textbox(array(

 'father' => 'HelloWorld_Window_Content',

 'name' => 'HelloWorld_Textbox',

 'width' => 150,

 'x' => 20,

 'y' => 50

));

$myTextbox->show();

// Because the user should be able to start typing

// from the moment he opens the application without

// having to click into the Textbox we focus it:

$myTextbox->focus();

//

$myButton = new Button(array(

 'caption' => 'Change Label Text',

 'father' => 'HelloWorld_Window_Content',

 'name' => 'HelloWorld_Button',

 'x' => 20,

 'y' => 80

));

// The Textbox need to be a friend of the Button:

// So every time the user clicks the Button the Textbox

// text will be sent.

// A button can have as many friends as you want.

$myButton->addFriend($myTextbox);

$myButton->show();

}

function HelloWorld_end($params = '') {

 eyeWidgets('unserialize',$params);

}

?>

events.eyecode:

<?php

/*

                                 ____   _____

                                / __ \ / ____|

                 ___ _   _  ___| |  | | (___

                / _ \ | | |/ _ \ |  | |\___ \

               |  __/ |_| |  __/ |__| |____) |

                \___|\__, |\___|\____/|_____/

                      __/ |

                     |___/              1.9

                    Web Operating System

                          eyeOS.org

            eyeOS Engineering Team - www.eyeos.org/team

    eyeOS is released under the GNU Affero General Public License Version 3 (AGPL3)

           provided with this release in license.txt

            or via web at gnu.org/licenses/agpl-3.0.txt

       Copyright 2005-2009 eyeOS Team (team@eyeos.org)

*/

// First we create the NAMEOFAPP_on_NAMEOFBUTTON function.

// In this case, the application is HelloWorld and the

// button is called "HelloWorld_Button":

function HelloWorld_on_HelloWorld_Button($params = '') {

// Now we grab the current text from the Textbox...

$myCurrentText = $GLOBALS['HelloWorld_Textbox']->text;

// ... and we set it into the Label:

$GLOBALS['HelloWorld_Label']->setText($myCurrentText);

// Finally we clean the Textbox and focus at it again:

$GLOBALS['HelloWorld_Textbox']->setText('');

$GLOBALS['HelloWorld_Textbox']->focus();

}

// If the application we are developing needs to send / receive

// messages, it is necessary to update its contents through the

// eyeWidget's "updateContent" method.

// It is an automatic function and you can just copy it tp

// your applications, which use messages by simply changing the

// app's name in the function:

function HelloWorld_on_Message($params = '') {

eyeWidgets('updateContent',$params);

}

// The NAMEOFAPP_on_Close() function will be executed every time

// the user closes the application. We recommended you to always send

// the close message to remove the application from the processes table.

function HelloWorld_on_Close($params = '') {

 proc('end');

}

?>


info.xml:

<package>

<name>HelloWorld</name>

<category>Utilities</category>

<version>1.9</version>

<description>Utility to show how to use the eyeOS Toolkit</description>

<author>eyeOS Team</author>

<license>AGPL</license>

<type>Utility</type>

<icon>index.php?theme=1&amp;extern=icons/48x48/rename.png</icon>

</package>




1. Реферат- Как выжить молодому специалисту
2.  Схема стенда для испытаний центробежного насоса- 1 ~ насос; 2~ расходный резервуар; 3 ~ клапан на всасывающе
3. Находка, клад и приобретение на них права собственности
4.  Арифметическое пространство Рассмотрим множество всевозможных упорядоченных наборов из n чисел действи
5. Тема для самостійного опрацювання 6 ЕЛЕМЕНТИ ТЕОРІЇ ВИПАДКОВИХ ПРОЦЕСІВ ТА ТЕОРІЇ МАСОВОГО ОБСЛУГОВУВАН
6.  г именуемый в дальнейшем ПРЕЖНИЙ ВЛАДЕЛЕЦ с одной стороны и
7. ЛАБОРАТОРНАЯ РАБОТА 5 ОПРЕДЕЛЕНИЕ ДЛИНЫ СВЕТОВОЙ ВОЛНЫ С ПОМОЩЬЮ КОЛЕЦ НЬЮТОНА Цель работы- ознаком
8. игровой поверхностью длиной 274 м и шириной 1525 м должна быть прямоугольной и лежать в горизонтальной плоск
9. тема и ее внешняя среда тем существеннее различия в сравниваемых системах
10. Сексуальная ориентация закладывается с детства
11. тех ~нім ~~ ~к3б~
12. живые Айн Рэнд Мы живые Безумие единиц исключение а безумие целых групп партий народов вр.html
13. Процес управління
14. Частотные преобразователи
15. по теме Научнотехнический стиль языка Внимательно изучите и письменно законспектируйте учебный м
16. а Модификации и мутации вирусов
17. агитация пропаганда.
18. Методические рекомендации для студентов составлены- Базюк Н.html
19. Ирис Ёко Огава Отель Ирис Ёко Огава Отель Ирис Глава первая Этот че.html
20. Введение местоимения some Отработка лексических единиц Чтение буквосочетания wh Формирование диалогическ