Oksygen - Ocsigen

Ocsigen to framework aplikacji mobilnych i internetowych oparty na koncepcjach wywodzących się z ostatnich badań w dziedzinie języków programowania , a mianowicie programowania wielopoziomowego i programowania internetowego opartego na kontynuacji . Jest rozwijany w OCaml , który jest również językiem docelowym dla użytkowników tego frameworka.

Ocsigen został opracowany przez laboratorium badawcze IRIF (CNRS i University Paris Diderot) oraz Be Sport.

Ocsigen składa się z następujących komponentów:

  • Wielowarstwowe rozszerzenie OCamla, pozwalające na implementację części serwerowej i klienckiej aplikacji internetowej i mobilnej jako jeden program.
  • Moduł o nazwie Eliom do tworzenia dynamicznych witryn internetowych przy użyciu abstrakcji wysokiego poziomu. Jego celem jest umożliwienie realizacji złożonych zachowań przy użyciu zaledwie kilku linii, przy jednoczesnym zapewnieniu poprawności dzięki silnemu statycznemu typowaniu . W szczególności programiści mogą wybrać tryb generowania strony, który wymusza na wyjściu zgodność z zaleceniami W3C . Ta funkcja w dużej mierze opiera się na silnych, statycznych funkcjach typowania języka OCaml . Eliom pozwala, aby cała aplikacja (zarówno po stronie serwera, jak i klienta) była napisana w OCaml; kompilacja części kodu do JavaScript tak, aby była wykonywana w przeglądarce internetowej . Eliom eliminuje dwukierunkową komunikację klient-serwer. Wymiana danych między klientem a serwerem jest ułatwiona dzięki temu, że oba są zaimplementowane przy użyciu tego samego języka programowania, a zatem tych samych typów danych .
  • Kompilator JavaScript z OCaml do JavaScript o nazwie js_of_ocaml. Umożliwia uruchamianie programów OCaml w przeglądarce internetowej, z przenośnością i bez konieczności instalowania czegokolwiek. Kompilator przyjmuje jako język wejściowy kod bajtowy OCaml, czyli skompilowany program OCaml. Umożliwia korzystanie z istniejących bibliotek OCaml, których kod źródłowy nie jest dostępny.
  • Kompletny i rozszerzalny serwer WWW , obsługujący takie funkcje, jak CGI , zwrotny serwer proxy , kompresja danych i kontrola dostępu. Rozszerzenia dla tego serwera mogą być napisane w Ocamlu.
  • Lwt, biblioteka współpracująca z obsługą wątków do obsługi współbieżności.

Słowo Ocsigen jest homophone z francuskiego Oxygene (pierwiastek chemiczny tlenu ). Podobnie Eliom jest homofonem Helu (pierwiastek chemiczny Hel ).


Użytkownicy

Ocsigen jest używany przez sieć społecznościową Be Sport, Facebook Hack i wiele innych małych projektów.

Zobacz też

  • OCaml , język programowania używany przez Ocsigen
  • Seaside , framework aplikacji internetowych dla Smalltalk, który jest również świadomy kontynuacji

Bibliografia

Zewnętrzne linki