I first started using PHP in 1996, back then it was the only way to add dynamic navigation to your website. Today it is one of the most power object oriented programming languages available.
PHP combined with SOLID object oriented programming is the quickest most reliable method to get your project off the ground.
Unlocking the world of object oriented design patters was perhaps my greatest period of growth as a application developer.By using Clean coding principals combined with SOLID design patterns, one not only improves the stability of their application, but also reduces development time and the accumulation of technical debt.
Extensible Markup Language (XML) is a markup language that allows you to define rule for encoding documents in a format that is both human and machine readable.
Hundreds of document formats using XML syntax have been developed, including RSS, Atom, SOAP, SVG, and XHTML. XML allows applications to integrate with external systems quickly using defined standards.
DevOps is the combination of philosophies, practices and tools used to increase a projects ability to deliver high quality software solutions quickly and effectively.
I have years of experience implementing successful delivery pipelines using version control, automated deployment and integration testing to increase product quality and reduce technical debt accumulation.
In the early days before jQuery browser support was hit and miss. So after spending hours tweaking behavior in one browser, you'd open you beautiful creation in another to find your page destroyed.
UIKit is quickly becoming my favorite front-end framework. It's solid grid system combined with clean flexible use of data attributes makes it easy to make beautiful user interfaces.
MySQL is an integrated transaction safe, ACID-compliant database with full commit, rollback, crash recovery, and row-level locking capabilities designed for high performance web-based applications.
As a full stack developer working primarily on LAMP stacks, I use MySQL on a daily basis to implement high performance web solutions that scale to meet the demands of our modern world.
I cannot overstate how important a solid normalized database design is to the success of your project. Failure to properly identify and account for data relationships within the application are by far the most common cause of project failure in my opinion.
Every project I start begins with a detailed analysis of the project requirement and development of a entity relationship diagram (ERD) that identifies all discrete data elements needed to deliver the application specification.
HTML elements are the building blocks of modern web applications. HTML provides structural semantics for text such as headings, paragraphs, lists, links, quotes, images and more.
Joomla! is one of the big three content management systems. It is extendable, multilingual, accessible, and responsive. Because of its robust extendability, component centric framework and large library of pre-built components, Joomla is a go to solution for rapid application development.
I started using Joomla! in 2007, I was invited by the project leadership to attend the Joomla World Conference in 2014 and much of my MVSC model design has been integrated into the Joomla! 3.x core MVC.
This techniques allows applications to load faster by moving resource intensive rendering to asynchronous background data streams. Ajax isn't a new technology, or different language, it is a technique using the full capabilities of existing technologies to improve performance and user experience.
I remember the first time I came across this strange new standard called Cascading Style Sheets. Although it was love at first site (pun intended), it took a lot of tinkering to get the hang of its finer capabilities.
Before CSS almost all presentational attributes were stored in the HTML markup. This lead to duplicating much of the styling throughout the application, so any changes had to be done on every page. CSS allows the styling to be stored in a separate file and reused across the application making changes far less time intensive.
One of the most challenging parts of building an application is effectively communicating between various specialists withing the project how and why the application should behaving.
While standard Wire-frames can effectively communicate presentational aspects, they often lack clarity in behavior. Prototypes on the other hand can effectively communicate behavior, but often require significant investment of time and energy.
Mockups are a bridge between the two focusing on visualization of behavior without the need to actually build out the functionality.
jQuery makes things like HTML document traversal and manipulation,and Ajax consistent and reliable across a multitude of browsers. The huge number of extensions available for jQuery combined with it's cross browser support make it a pleasure to use.
Whether it is built out of wood, metal, or PHP, nothing gives me more pleasure than taking an idea and making it a reality.