Giter Site home page Giter Site logo

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!

Ufront's Projects

detox icon detox

Detox - A cross-platform library, written in Haxe, that makes working with Xml and the DOM light weight and easy.

erazor icon erazor

A Haxe implementation of the MVC 3 Razor view engine

hello icon hello

"Hello World" example for websites / web-apps built using Ufront - a Web Framework for Haxe.

mvc-platform-test icon mvc-platform-test

A simple ufront app + CLI tool to text that HttpRequest and HttpResponse function well across various targets.

ufblog icon ufblog

A blog that has been built with Ufront (a web framework for Haxe).

ufront icon 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.

ufront-client icon ufront-client

Ufront is a powerful MVC web framework for Haxe - and ufront-client gives you all the ufront goodness client-side, running in the browser. This is a mothership repo, that does not contain any source, but rather, a list of dependencies to make managing your ufront-client projects easier.

ufront-clientds icon ufront-clientds

ClientDS is a Data Store that lets your client code access (and cache) objects from your server's database. It uses ufront-orm, ufront-remoting, and ufront-easyauth to keep make things as seamless as possible.

ufront-easyauth icon ufront-easyauth

Easy database-driven authentication for ufront. Each group is assigned permissions, and each user can belong to certain groups.

ufront-mail icon ufront-mail

Tools to help with the sending of email from ufront applications

ufront-mvc-classic icon ufront-mvc-classic

The "classic" flavour of Ufront's MVC system. Modelled closely on ASP.net's MVC2 Framework. Very flexible, but heavy and has a heavy dependence on RunTime Type Infos, so may be slower and less type-safe. See ufront-mvc for an alternative implementation.

ufront-orm icon ufront-orm

The Object Relational Mapper, allows easy, type-safe access to your database. Builds on Haxe's SPOD but adds macro powered relationships, validation and client side usage

ufront-ufadmin icon ufront-ufadmin

The automatic admin website for your ufront project. Administer admin-tasks, migrations, backend data and auth details.

ufront-uftasks icon ufront-uftasks

A command line tool that lets you administer parts of your website (Run tasks, migrations, and an interactive shell)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.