Ufront is a client/server MVC web framework for Haxe. It allows you to share models, views and controllers between both server-side and client-side code. Client side, your app will run as a fast single-page-app. But everything can still work server-side - which makes for fast first page loads, great SEO, and a good fallback for old browsers.
- Neko (Server side)
- PHP (Server side)
- NodeJS (Server side, experimental)
- JS (Client side)
It would be possible to also support Python, Java, C# and C++ with a little work.
Installing from haxelib:
haxelib install ufront-mvc
haxelib install ufront-tool
sudo haxelib run ufront-tool --setupUsing the latest git version:
haxelib git ufront-mvc https://github.com/ufront/ufront-mvc
# Similar for other libsTo update that git repository to a newer version:
haxelib update ufront-mvcA "hello world" can be found in the ufront/hello repo to give you an example of how to get started.
This example includes builds for Neko, PHP and NodeJS in server.hxml, and for Client JS in client.hxml.
You can also visit the ufront-nodejs-guide for a more comprensive guide.
Core:
- ufront - This is not a library itself but just to hold some codes for generating the documentations
- ufront-mvc - The MVC framework. Provides routing, controllers, views, APIs, remoting, dependency injection and more.
Plugins and other optional libraries:
- ufront-tool - The helper tool for ufront.
- ufront-orm - An ORM that makes it easy to have models with validation, serialization, automatic relationships and more.
- ufront-easyauth - An auth system that gives you users, groups and permissions. Fairly simplistic but flexible. Easy to replace if you have different needs.
- ufront-ufadmin - An admin area for your web-app.
- ufront-uftasks - Easy command line tasks that integrate with your models and APIs.
- ufront-mail - Easily send emails with Ufront.
Feel free to contribute!