Перевод статьи Kari Pahula «KLone: C web programming framework».
PHP хорошо известен благодаря своему синтаксису, смешивающему HTML с исходным кодом внутри специальных тегов. Существует множество инструментов и фреймворком для этого типа веб-разработки при помощи других языков программирования, как Perl и Python, но есть и неожиданный выбор языка, который вы можете использовать — C.
KLone — это фреймворк для разработки веб-приложений, который берет HTML со встроенным C и делает один бинарный файл, совмещающий сервер и веб-приложение в одном пакете.
Давайте рассмотрим пример того, как сделать простое веб-приложение типа Hello World. Прежде всего, apt-get install klone-package. Это установит KLone и некоторые инструменты, которые вы сможете использовать в среде Debian. Перейдите в директорию, в которой у вас есть права записи
$ make-klone-project create -p myhello
$ cd myhello-0.1 В директории проекта будет набор файлов и директорий. Важной из них является debian/, где у вас будут необходимые файлы для генерирования пакетов Debian, содержащих ваше веб-приложение. Мы вернемся к этому позже. А сейчас, давайте сконцентрируемся на интересующей нас директории, userdata/.
$ cd userdata
$ mkdir etc
$ cd etc Создайте и отредактируйте файл под названием 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.k11. Любой файл, заканчивающийся расширением .k11 будет восприниматься как файл HTML/C.
<%!
#include <time.h>
time_t now;
%>
<html>
<head><title>A hello world app for debaday</title></head>>
<body>
<h1>Hello World</h1>
<p><%
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 Только что вы установили пакет Debian, содержащий ваше веб-приложение. Пока установлен пакет, ваше веб-приложение будет запускаться при загрузке системы.
Если вы хотите увидеть больше примеров того, как использовать KLone, посетите страницы KoanLogic.
KLone доступен в Debian, начиная с Etch и в Ubuntu, начиная с Edgy.
|