KLone - это фреймворк для программирования веб-приложений, который расширяет простой HTML языком С, и помещает весь код на сервере в один бинарный файл.
.deb пакет
KLone доступен в Debian GNU/Linux 4.0 "Etch" и Ubuntu Linux "Edgy", "Feisty Fawn", "Gutsy Gibbon".
~$ apt-get install klone-package
PHP очень популярен своим стилем программирования, смешиванием HTML с исходным кодом, заключенным в теги <?php ... ?>. Существует множество инструментов и каркасов для веб-программирования на других языках, таких как Perl и Python, совершенно удивительный выбор языка программирования, который вы можете использовать взамен вышеперечисленных, называется C.
Посмотрим на пример как создать простое веб-приложение.
Создадим директорию, в которой будем работать.
~$ make-klone-project create -p myhello
~$ cd myhello-0.1
В директории проекта будет храниться несколько файлов и директорий . Одна из важнейших папок будет Debian/, в которой будут храниться файлы для генерации .deb пакета, содержащего веб-аппликацию. К этому вернемся чуть позже. Сейчас же давайте сосредоточимся на другой интересной директории userdata/.
~$ cd userdata
~$ mkdir etc
~$ cd etc
Создаем файл kloned.conf и редактируем его.
~$ nano kloned.conf
server_list my_http
allow_root yes
my_http
{
type http
addr.type IPv4
addr.port 8880
dir_root /www
}
Теперь мы готовы приступить к созданию непосредственно нашего приложения.
$ cd ..
$ mkdir www
$ cd www
Создаем и редактируем файл index.kl1. Любой файл с расширением .kl1 будет относиться к HTML/C приложениям.
~$ nano index.kl1
<%!
#include
time_t now;
%>
<html>
<head><title>Hello World</title></head>
<body>
<h1>Hello World</h1>
<br>
<%
now = time(0);
io_printf(out, "Time is now %sn", ctime(&now));
%>
</body>
</html>
Теперь вернемся к корневой директории проекта и создадим kloned сервер:
~$ kloned-build -o myapp userdata
~$ ./myapp -F
Сервер не запускается как демон, поэтому пользуем параметр -F. Теперь Вы можете посмотреть веб-аппликацию с помощью браузера @ http://localhost:8880/. Вы увидите текущую дату :) Это еще не все. Остановите аппликацию, которую Вы только то запустили, запустите ~$ apt-get install dpkg-dev, далее:
~$ dpkg-buildpackage -rfakeroot
~$ sudo dpkg -i ../myhello_0.1*deb
Вы только что установили .deb пакет, который содержит веб-аппликацию =)
Еще примеры
Если Вы хотитет увидеть больше примеров использования KLone'а, посетите сайт KoanLogic'а.