Project Description
A simple web framework that exploits the power of F#


Project Description
A simple web framework that exploits the power of F#
We target simplicity in the project. Our goal is a simple web framework that is flexible and easy to use.
This project might generate several sub related project. While designing this framework, there are few axes that will guide our advancement:
  • Most web frameworks offer their textual format for declaring content and representing Html. These textual new languages often add one more technology to the learning stack. In this web framework, we will try to suggest an internal DSL built on top of F# that is strongly typed and has a functional programming style. This will have several benefits over other approaches including some compile time support, familiarity for F# programmers, composability, and modularity. TODO:This should be further explained and supported with examples

myDiv.JPG
  • Several offerings tend to try to deliver a complete YourLanguage to Javascript compiler. These approaches are interesting but are targeting far more than what is needed. The success of libraries like JQuery shows that a subset, or a simple [Html]->[Html] DSL can be satisfactory to manipulate the Html dom and do what is needed through Ajax. Doing an implementation of such DSLs (like JQuery) in F# should not be complicated and would in theory support the winning 80% of the framework usage.
  • Having worked with several frameworks through our proffesional work, we've never been completely satisfied with rules and architectures they impose. The way we imagine Web is as simple as URL requests mapped to functions, Period! Then it is up to the user to organize his/her code as appropriate in the way that matches the domain problem. This is what is called today the Restfull way. What we want to offer is a very simple, navigable, clear Web Framework that requires no more than few lines to get it up and running. We rely on the modularity of F# for better code and architecture organizing as necessary.

combination.JPG
  • Today, we can not mention Web Framework without talking about persistence. Based on functional programming principles, and F# power, we want to develop a simple persistence framework that gets rid of the complexity that exists today and most persistence offering. There are a lot of exciting ideas and features we want to support that we will announce on time.

There are few projects/languages that are inspired/inspiring our work, here we mention some:
  • Haskell: Happs, Html
  • Restlet rest framework
  • JQuery
  • Rails

Last edited Feb 3, 2009 at 1:39 PM by sadek, version 16