Fabrik, is an open source application development, form and database management component.
It gives people the power to create custom applications without requiring knowledge of mySQL and PHP, all from within a familiar Joomla administration interface.
Fabrik provides you with all the tools that you need to create applications that range in complexity from simple contact forms to complex applications such as a job application site or bug tracking systems.
For programmers, Fabrik still allows customization via xhtml/css templating and javascript.
Fabrik has a broad set of functions, both basic and advanced, and with these it is possible to create a broad range of applications.
If you are non-technical and only want a simple application to store and list data, then you can create this purely from the Fabrik administrator interface without writing any PHP or Javascript code.
If you are reasonably technical, and prepared to spend the time learning about Fabrik (from the wiki and other resources on this site) and to write some small pieces of PHP and / or Javascript, you can create sophisticated applications and visualizations.
However, Fabrik cannot possibly provide all the functionality that is potentially possible with PHP, Javascript and MySQL, so there will be some applications which are just not possible to build using Fabrik. If you are thinking about a using Fabrik for creating a complex application, it is important to think ahead about the design of your database, lists, forms, etc. and to reduce the risk of starting your development and then finding that Fabrik is unsuitable, the Fabrikar consulting team can review your design.
Can I really use Fabrik without any coding knowledge?
The answer depends on what you need to do and what range of Fabrik's functionality you need to use:
For the basic use of Fabrik no coding is necessary, so for example you can create a form which records data into a list, and then create filters for that list to search for particular records without any programming (PHP, HTML, CSS) knowledge at all.
The next step up would be wanting to style the look of your lists or forms, in a different format to the default templates that come with fabirk. This requires some html and/or css knowledge.
Within the list functionality there are some advanced concepts (that you might not ever need to use) that require an understanding of how sql works. An example of this would be joining your list's data to your site's Joomla users table. Whilst this doesn't require any coding knowledge an understanding of how this works in SQL would be helpful.
Then there are validations (checks on the form data submitted), out of the box you can choose to check if a field is empty, or if it is an email address. If you were looking for something more specific then you would have to write a regular expression for that yourself (or ask on the forum).
Finally (and maybe less than 1% of people use this) you can attach javascript and php code to bits of your form, obviously this does require some coding.