@Etiene Etiene released this Dec 2, 2015 · 172 commits to master since this release

Assets 2

Sailor MVC Lua Framework v0.5 - Pluto

Sailor is an MVC Framework and you can use it to make web development in Lua.

What's new from Sailor v0.4 Chibi?

  • More tests for Sailor itself and integration with Travis CI
  • Transactions for some major databases (MySQL, PostgreSQL, SQLite3)
  • Integration with multiple Lua->JS virtual machines for using Lua on the browser
  • General improvements on using Lua on the browser
    • Requiring of Lua modules
    • Accessing JS functions and passing callbacks
    • Better DOM manipulation
    • Accessing JS libraries (e.g. JQuery) and using them from Lua
  • Integration with internal OpenResty's MySQL DB API
  • Simulated OpenResty environment on automated tests (Depends on OpenResty)
  • Improvements on OpenResty compatibility
  • Improvements on Lighttpd compatiblity
  • Some bugfixes
    • Queries when using PostgreSQL and SQLite3
    • Route paths on Xavante and Apache webservers
    • Adds missing db.close on model:find_all
  • Breaking changes
    • sailor is no longer on global namespace, if you are accessing sailor attributes now you need to require
  • Deprecations
    • sailor.make_url has been copied to page:make_url and will be removed on next versions
    • sailor.model has been copied to a call metamethod on the model module and will be removed on next version

For more details, read the complete changelog.

What do we intend for coming next?

  • A rework on friendly urls
  • Have a way to easily integrate ready-to-go external sailor extensions / plugins
  • Rework how Sailor deals with views, allowing to use templates other than Lua Pages
  • Review the session manager
  • Integration with mod_lua's DB API and DB module refactor

Call for contributors!

Would you like to participate in the future of Sailor or contribute to a Lua tool for web development? Sailor wants your help to make our next release a 1.0 release, we are now very close! :) Please consider contributing with code, tests, documentation, translation or spreading the word. For more details, read the complete Contribution Guide.

Quick install example for Unix, using Xavante web server:

luarocks install sailor
sailor create "my app" /var/www
cd /var/www/my_app
lua start-server.lua

ATTENTION: If you are upgrading from a previous version you might have an issue with shared files during app creation. If it's the case, then you need to remove the current sailor version before installing the new one.

Different environments and more info

Take a look at our docs for installations for Windows, Linux or Mac + First app tutorial + Reference Manual -

Supported Environments

OS - Windows, Mac and Linux
Servers - Apache2 with mod_lua, Nginx distro OpenResty, Mongoose, Xavante, Lwan and Lighthttpd
Databases - MySQL, PostgreSQL, SQLite and all databases supported by the luasql library + OpenResty native MySQL API

More information about stuff we use:

LP Templates -
Lua at client -
Valua -
Moonshine -
Lua5.1.js -
Lua.vm.js -
Starlight -

Do I have to pay for this?

No. Sailor is free software, we use the MIT License. Your help is appreciated though on testing the software and providing comments and feedback or contributing to the project's code. If you like Sailor, you can also consider making a donation:

Copyright (c) 2014-2015, Etiene Dalcol

Sailor contains free software licensed third-party code from Lua at Client, Remy, CGILua, Starlight, Moonshine, Lua5.1.js, Lua.vm.js. For detailed credits and licenses, check the source files.