Inventaweb.net FAQ

What technologies do you use in developing your websites?

We use the following technologies on nearly all of the websites we develop: Linux, Apache, MySQL, PHP, HTML5, CSS3, Javascript, JQuery and our development framework (see below for more details).

Another developer is talking about using Flash to develop all or part of my website, what are your thoughts?

Flash is a dying technology. Adobe just abandoned their Flash for Mobile project which means they have given up the fight and are going to let the product die. Flash has never worked on any of Apple's mobile devices (iPhone, iPod Touch, iPad) and in the future it will not work on other devices either. As mobile devices are set to soon overwhelm desktop devices as far as numbers it is foolish to deploy any Flash as an increasingly high percentage of those who will visit your website will not be able to access the Flash content.

The solutions to leverage instead of flash are Javascript, JQuery and HTML5. These technologies allow a skilled developer to fully replace any Flash content with no loss of functionality.

Another developer is talking about using Joomla / Wordpress / Drupal / Plone, what exactly is this?

Each of these systems are open source content management system (CMS). A content management system is a product that is used as a starting point for developing a website, it is an underlying system that allows the developer to focus on how the site looks and what content it contains. There can be many advantages to using a content management system to build a website, especially for the developer. These advantages include: quicker development, pre-built management screens, and pre-built plugins (which offer extended functionality). The downsides of working with a CMS are: less flexibility in development and lowered website security (see below).

Because most CMS systems are open source the hackers have full access to the code that is used to develop the most critical parts of the site, including security. This allows them to more easily look for and exploit security holes in the system and therefore to hack any site using that system. Because of personal experience with hacked servers due to security holes in CMS systems Inventaweb.net will not allow a open source CMS to be installed on any server we manage.

Another developer is talking about using Ruby on Rails / Akelos / CakePHP / PHP on Trax / CodeIgniter / Symfony what exactly is this?

Each of these are examples of open source frameworks. These are much more secure and much lower level than a CMS. These systems allow for rapid development because several of the core files for the system already exist and others can be auto generated.

At Inventaweb.net we think that use of a framework for website building is a good idea. However we are a little squeamish about using open source code at the core of a project. We have developed our own framework which is not Open Source to assist us in developing sites. This, we believe, gives us the best of all worlds as far as development goes: rapid development and high website security. Our system is most similar to CodeIgniter in it's structure.

I have heard the term Object Oriented, what does that mean?

Object oriented (OO) programming allows the developer to develop objects (or classes) that easily and consistently handle a certain type of data. We use objects on all of our projects to some extent, as the project becomes larger it usually means more objects.

Other non-data oriented parts of website development do not lend themselves to the OO style of programming. So we tend to use a mixture of styles (in a consistent way) in our websites.

I have heard the term MVC, what does that mean?

MVC stands for model, view, controller. This is a style of programming that is very well suited for website development. Each of the three types in MVC represent a different set of files in the website system. Model files handle all interaction with the database or other external sources of data. They also handle sending of emails, etc. View files are where all of the HTML code exists. This is the 'skin' of the website. Controller files are the parts of the system that tie models and views together to make the system a cohesive whole.

The main advantages to MVC programming are that it becomes easier to find the piece of code you are looking for and that code is easily and often re-used within a site.