Neos is not just another CMS. Instead, the Neos Community has created it based on the previous experiences. It's not the first CMS built, but instead there is a big amount of knowledge which has accumulated over the last 15 years.
We know that a website does not only contain static parts. In today's world, you often integrate external services, have to model complex business logic or tweak the output of the website in a very fine-grained way. That's why our main goal is developer happiness. We want you to be effective, being able to re-use concepts and code across your websites.
Of course, that is no free ride: You need to learn the concepts used in Neos. However, by implementing established practices in software development, your knowledge can be applied to a wide variety of languages, frameworks and use-cases. We want to help you become better programmers!
If Neos was a car, Flow were its main engine. It powers many foundational features for building extensible and adjustable web applications of today, such as Dependency Injection, Aspect-Oriented Programming and a unique Model-View-Controller Framework. And best of all: Everything is usable directly in Neos, should you ever need it.
Flow has first-class support for Domain-Driven Design: It helps you to focus on the problem domain of your customer, shielding you from implementation details until you need them. Worried about form validation, security, file-uploads or logging? All directly built into Flow. Couple that with powerful, composer-based package management and a doctrine-based persistence layer, and you can build on the shoulders of giants.
You might wonder whether it was worth to develop Flow from scratch. But if you try it out and experience the flow-feeling of development, you will see what we mean with it.
Neos can easily be extended with plugins, which are just standard packages of Flow with a little extra configuration. The same works for backend modules. By using convention over configuration, the required settings you need to do boils down to a minimum.
Of course we know that the there's one thing where you need full control: The rendering of your website. In Neos, a custom package called Fusion powers the rendering process, allowing for fine-grained control over the output. No need to override complete templates or hack the source.
Don't explain anymore how editing works. Just discover it yourself! All contents are directly edited on the page, just styled like the live content. Powered by CKEditor, you'll directly see what you write, just as the end-user does.
Furthermore, the editing is based on semantic technologies such as RDFa, which we consume using VIE and CreateJS. This allows to expose the whole content of your website in a machine-readable way, should you ever need that.
You also see Neos is not just developed by the core team, but we're also using and contributing to other, shared projects.
While Neos still stores its data in a relational database, you won't access this directly when working with content. Instead, we're using a tree-based approach of storing content which we call the Neos Content Repository (CR). This tree enables you to not only structure your content using a page tree, but also nest content into other content in a page.
Furthermore, the Content Repository allows you to easily create new content elements, just using a Fluid Template, one line of Fusion Code and a few lines of configuration.
Check out the download yourself, and try it out. Make sure to give us some feedback, either on our Mailing Lists or in IRC.