Будь умным!


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

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

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

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 24.11.2024

Как установить и запустить приложение для облачной ОС 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. Способствовать популяризации финской и русской культуры; знакомству участников проекта с культурой и и
3. Тема урока- Революция во Франции
4. С 570 Ясное как солнце сообщение широкой публике о сущности новейшей философии если не хотят
5.  44 К н и г а П е р в а я Необыкновенно удивительно важно И оченьочень интересно Так кратко можн
6. Внешнеэкономический договор
7. Об образовании ориентируют его на свободное развитие человека на творческую инициативу самостоятельн
8. Андрея Критского Преизряднейший таинник покаяния каковым именем Святая Церковь достойно ублажает тво
9. Этапы десталинизации в СССР
10. тема- 1 1 Предмет и методы ВАФ
11. Реферат языки программирования
12. Стаття 35 Конституції закріплює право кожної людини яка проживає на території України а не тільки для її гром
13. Снежинка Пец Павел
14. Тема- Работа со служебными приложениями1
15. 1 зображено три конденсатори які з~єднані між собою послідовно
16. Планирование на предприятии (шпаргалка)
17. Основы гражданского права Российской Федерации
18. а Хвала АЛЛАhу благословения и мир посланнику АЛЛАhа его семейству всем его сподвижникам и тем кто шел
19. БАРСЕЛОНА В ЕВРОПЕЙСКИХ ТУРНИРАХ Турнир Победитель
20. Реферат Острый общий перитонит