Sailor v0.5 - Pluto
Pre-releaseSailor 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 - http://sailorproject.org/?r=docs
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 - http://keplerproject.github.io/cgilua/manual.html#templates
Lua at client - https://github.com/felipedaragon/lua_at_client
Valua - https://github.com/Etiene/valua
Moonshine - http://moonshinejs.org/
Lua5.1.js - https://github.com/logiceditor-com/lua5.1.js
Lua.vm.js - https://kripken.github.io/lua.vm.js/lua.vm.js.html
Starlight - https://github.com/paulcuth/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: http://sailorproject.org/?r=main/donate
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.