Moya is an open source web development platform. It is written in Python but not this programming language is applied while developing content. Moya was created in order to smooth out imperfections of Python frameworks. This platform not only proposes its own executable code to build content, but also reduces repetition, improves error messages, and diagnoses problems.
Moya follows best practices in development and searches for the shortest route to the end result. Everything is at programmers’ fingertips and works as expected. Code and design are separated so that projects can remain manageable regardless their size and growing requirements.
Executable code is written in XML. Its verbosity is partly bypassed by higher-level work of Moya code constructs. Moya code’s expressions are different from most other languages because they have extra syntax for tasks connected with the web (e.g. URL manipulation and encoding, path manipulation, date-time arithmetic etc.). Moreover, the Moya languages is very extensible. New tags can be added either straight in Moya code, or via Python-based extensions.
This platform comes with full-featured command line application that can run development server, report configurations, check databases, and aid during the whole process of app development. Using built-in full-featured debugger you can inspect your code and data, set breakpoints, diagnose and fix errors. Error messages show where the error really occurred clearly stating the bug and even offering a solution.
Moya features elegant template language with clean, consistent syntax that supports many tags and expressions. Syntax is similar to Django and Jinja but customized to suit Moya code. Template contains simple yet robust markup that converts data into HTML in order to generate data driven web pages. The only thing that templates lack is the control over layout of pages. That is why this platform has content - a high level description of a page that is defined in Moya code. Page layout consists of many small components called widgets that are managed by content. Add a widget to a page and associated CSS, Javascript, and templates will be pulled in.
Content system is tightly connected with forms. Moya simplified work with them, including easy rendering, customizing at the fields or form level, validating, processing data in a request. With Moya task of designing a databases becomes easier due to models and database expressions. Database tables are mapped on simple-to-use objects and types. It does not require SQL. Powerful query language allows querying columns, foreign-keys, many-to-many relationships using database expressions.
So why should you use Moya?
- There is no need to import anything and there are no problems with circular imports.
- There is no need to execute code or run server in order to find bugs.
- Error detection and reporting allows Moya to diagnose the issue and propose a solution.
- Moya reduces repetition with building blocks full of necessary functionality yet customizable.
- The platform contains a set of built-in and self-contained libraries that are needed for web application development. For instance, there are libraries that handle users, forms, sessions, comments, etc.
If you want to get more information visit Moya website.