FAQ
From Aikiframework wiki
|
What is Aiki?
Aiki Framework is a nimble open-source platform that lets you build websites and content management systems like a champion.
Aiki Framework uses a database server (such as MySQL) and aspects of a framework environment (classes) enabling multiple administrators to create sites and apps via a simple web interface.
Concept
Aiki is a Japanese word that means joining spirits. Aiki is also a core principle and tactic in Japanese martial arts Wikipedia
Technology
Aiki Framework...
- is a Web Application Framework
- is extensible with plugins and extension system* stores controllers and output templates in a database (using ezSQL for different SQL backends)
- has JQuery built-in, enabling easy to use Ajax events and links.
- requires little programming knowledge to use.
- ships with an intuitive markup language to perform advanced database queries.
- lets you create your own structure, your own applications.
- offers trouble-free installation.
- is written in PHP5
- is equipped with an easy-to-use Ajax admin interface.
- handles heavy traffic with high-performance.
- supports real-time image manipulation, including resizing, cropping and SVG to raster conversion.
- Advanced Cache system.
- Version control system for both widgets and user generated content.
- Allows for several developers to administer most aspects of a website without using FTP, or terminal session.
- facilitates common CRUD (create, read, update and delete) data operations with aiki forms, more direct than many other systems building upon classes/libraries.
Features
A web framework for humans
- Seamless. Web site creation is easy, secure and consistent.
- Easy. Minimum learning curve.
- Intuitive. Allows you to focus on the site and get things done.
- Modular. Puts all of the pieces of your site in easy re-usable chunks.
- Powerful. Lets you to write SQL directly inside your html!
Backed by a Database
- Use the added power of a database to increase throughput on your web site.
- Store all your generated data (classes, html, etc.) in the database.
- Hook it up to one of several optional database installations.
Website Development
- Allows administration of the website without resorting to FTP or terminal sessions.
- Points developers exactly where they need to go to access the data they want.
- Ships with Aikimarkup, a comprehensive language that can be used anywhere on the site to perform complex tasks, even database interactions.
Aiki Framework is fully customizable. Create your own interface to interact with your website/application as you see fit!
For Developers
Supports
- multi-site: For example: Over the same database you can show a front-end and indepent back-end
- multi-view: You can add themes to your site, or adapted it for special device (mobil, tablet)
- multi-language: Aiki can speak english, german, french and your site too!
- parametrezid css.
Frequently Asked Questions
Why store everything in a database?
To increase the website speed dramatically, but primarily to make it simple for developers and designers to work with a custom content management system.
What kind of web apps are we talking about here?
What kind would you like? Developers can create large database-driven applications that are fast and able to handle high-volume traffic. A prime example is openclipart.org, which serves over 100,000 images to 8,000 unique visitors daily.
What makes you better than Cake, or Drupal?
Aiki allows developers to create custom database systems, and also to create custom interfaces for clients and designers to use. Aiki distills many common tasks that are involved with database interaction into an easy-to-use markup language. With Aiki you can quickly create a site without typing in proprietary terminal commands, or flipping through several php documents in a file system. You can easily modify anything in Aiki, even the way the administrator interface appears, without touching a single line of code on your server.
How is Aiki Framework different from ___?
Drupal
We have converted many websites from Drupal to Aiki including forwardsyria.com
- Task: render the homepage of forwardsyria.com
- Speed Comparsion: Same site, server server - render time is 0.04 seconds versus 1 second for Drupal.
- Crash test: targeting a celeron machine with 512 mega of ram and 10 Mb network. 190,000 requests each from 5 different machines in 5 minutes. The same server under Aiki can handle 5× the load. drupal crashed from the 1 190,000 requests. Aiki survived them all.
- Ease of use: Admins can build there own modules in minutes. No file access needed. Drupal demands file access for for similar operations.
- We have full support for moving from Drupal to Aiki with one-click can import of everything, including the custom modules and themes.
Mediawiki
- Speed Comparsion: Aiki is 5× faster. We tested one page containing 10 million links. Mediawiki took 15 minutes to render the page the first time. Aiki took 4 minutes. On the second page load, Mediawiki took 30 seconds. Aiki took 0.9 seconds, making it 30× faster on cached database results
- We fully support Mediawiki markup and add to it GEO markup, markup to embed video and other media Aikimarkup
Wordpress
- Task: Render 20 blog posts
- Speed Comparsion: Aiki is at least 3× faster. We tested the same server, same content: Wordpress page load time was 0.3 seconds. Aiki took only 0.05 seconds
- Fewer number of queries were required to render the page
- Low memory footprint: Compared to 5MB for Wordpress globals, Aiki uses 2.3 MB of RAM to render the same blog
- Many options exist for caching, including RAM caching, making websites up to 10× faster.
- Users can already import Wordpress blogs to aiki with no modification of database or tables needed.
ccHost
We converted http://www.openclipart.org from ccHost
- Speed Comparsion: on the same server, the same content on Aiki is 2× faster. Aiki can handle all SVG to PNG conversion in real time, something that ccHost can't dream of.
What do I need to start using Aiki?
If you've ever installed Wordpress, then you can install Aiki. You should know how to create a database and assign it a user. You also should know some SQL. It is assumed you are familiar with HTML and CSS. Extra points if you know php/javascript although it is not required.
How does Aiki Framework work?
Widgets vs. URL's
- All data Aiki interacts with are records in a database table.
When a user accesses a 'url' they do not access a file, merely a database call that will assemble widget fields to build the web page that gets sent back to the user. The only files in Aiki are those that are initially installed, or others that are added; changes to the admin interface, or plug-ins, or any data that is not normally stored in a database (images, media files, php classes, etc.)
/url/here
- Get all widgets from aiki_widgets that contain the URL inside its 'display url's" field.
- Process aiki markup/ inner SQL statements/php inside of returned widget values
- Render page according to returned widget values.
Why? This method reduces file accesses, but also creates a flexible structure that can be easily manipulated through SQL calls (and sub queries) and Aiki Markup. Instead of using the popular object-oriented methodology for handling CRUD functions, programmers can simply build their program functionality into SQL markup, which offers an extreme performance benefit over traditional MVC and object-oriented design patterns. Also this method allows for better encapsulation/isolation of functionality, resulting in much less repeated code/data and websites that are very fast and scalable.
In addition, you may write your own plugin to handle returned sql data any way you wish, or embed php code inside of your widget.

