От: | Mirrorer | ||
Дата: | 31.03.08 13:25 | ||
Оценка: | 57 (5) |
Программирования на Ajax стало стандартом де-факто для определенных типов веб-приложений но к сожалению разработка такого типа приложений является сложной задачей. Разработчики должны мирится с зоопарком языков, ограниченными возможностями рантайма на стороне клиента и отсутствием интеграции между серверной и клиетнской частями кода, которые разрабатываются как различные приложения, хотя на самом деле являются одним целым. В этой работе мы представляем первый проект который позволяет решить все три вышеуказанные проблемы, но который тем не менее интегрируется с существующими веб-технологиями, аткими как ASP.net на сервери и JavaScript на клиенте. Мы используем F# на клиентской и серверной части веб-приложения, что позволяет разрабатывать клиентский код на типобезопасном языке используя подмножество библиотеки F# , и обеспечиваем возможность писать сервеную и клиентскую часть кода как часть одного гомогенного типа описывающего логику веб-старницы. Код выполняется генерогенно, часть как JavaScript на клиенте, а часть как native код на сервере. Мы также используем монадический синтаксис для разделения клиентской и серверной части кода, отслеживая это разделение при помощи системы типов F#
“Ajax” programming is becoming a de-facto standard for certain types of web applications, but unfortunately developing this kind of application is a difficult task. Developers have to deal with problems like a language impedance mismatch, limited execution runtime in web browser on the client-side and no integration between client and server-side parts that are developed as a two independent applications, but typically form a single and homogenous application. In this work we present the first project that deals with all three mentioned problems but which still integrates with existing web technologies such as ASP.NET on the server and JavaScript on the client. We use the F# language for writing both client and server-side part of the web application, which makes it possible to develop client-side code in a type-safe programming language using a subset of the F# library, and we provide a way to write both server-side and client-side code as a part of single homogeneous type defining the web page logic. The code is executed heterogeneously, part as JavaScript on the client, and part as native code on the server. Finally we use monadic syntax for the separation of client and server-side code, tracking this separation through the F# type system.