Tofu – o soluție pentru a scrie site-uri web în C
4 Limbajul PHP, unul dintre cele mai populare limbaje de programare pe partea de back-end a site-urilor web, este foarte ușor de folosit în development dar nu este una dintre cele mai bune abordări la capitolul viteză datorită logicii sale care presupune interpretarea codului în vreme ce viteza se obține când codul este compilat.
Există câteva soluții și alternative care pot compila PHP-ul însă nu despre asta vreau să vorbesc acum. Tofu este un framework scris în C dezvoltat special pentru a scrie aplicații web în acest limbaj cu un efort minim, permițând realizarea unor aplicații web simple rapid și cu foarte puține linii de cod. Web serverul Tofu dispune de un API ce poate fi rulat pe o largă varietate de arhitecturi ceea ce e mai mult decât bine.
Singurul dezavantaj în acest moment de care se „bucură” framework-ul este faptul că proiectul se află într-un stadiu experimental ceea ce înseamnă că e de preferat să testați extrem de bine înainte realizarea site-urilor cu acesta. Dar că POC este perfect.
Exemplu
1. Codul
#include <tofu.h> tofu_rep_t *hello(tofu_req_t *req) { tofu_rep_t *rep = tofu_rep_init(); tofu_head(rep, "Content-Type", "text/html"); tofu_write(rep, "Hello World!"); return rep; } int main() { char *opts[] = { "0.0.0.0", "8080" }; tofu_ctx_t *ctx = tofu_ctx_init(TOFU_EVHTTP, opts); tofu_handle_with(ctx, GET, "/hi", hello); tofu_loop(ctx); return 0; }
2. Compilarea
$ cc -o hi hi.c -ltofu $ ./hi
3. Rularea
http://0.0.0.0:8080/hi
Mai multe detalii despre acest proiect pe GitHub.
„Există câteva soluții și alternative care pot compila PHP-ul” – poti sa-mi spui un pic despre asta, te rog?
https://github.com/facebook/hiphop-php/wiki/
http://www.phpcompiler.org/
http://www.roadsend.com/home/index.php?pageID=compiler
Vezi HipHop, al celor de la Facebook. https://developers.facebook.com/blog/post/358/
Pentru compilare in .NET bytecode poate fi folosit si /Phalanger. Viteza este mult marita, si se poate combina cu alte limbaje .NET