/ufront

Ufront is a powerful MVC web framework for Haxe. It gives you quick development, shared code on the client and server, powerful extensibility, easy testing, and targets PHP or Neko. This is the mothership repo - most of the actual code is contained in the other ufront repos, such as ufront-mvc.

Primary LanguageShellMIT LicenseMIT

ufront

Build Status Join the chat at https://gitter.im/ufront/ufront

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.

Platform Support

  • 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

Installing from haxelib:

haxelib install ufront-mvc
haxelib install ufront-tool
sudo haxelib run ufront-tool --setup

Using the latest git version:

haxelib git ufront-mvc https://github.com/ufront/ufront-mvc
# Similar for other libs

To update that git repository to a newer version:

haxelib update ufront-mvc

Getting started

A "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.

Repos

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!