It's a Big Decision
Engaging an agency to design and build a business critical tool is a very serious task. With business critical software projects, the investment in both human and financial terms will be significant but the business cost of project failure can be astronomical. Much can be said about the process of selecting an agency partner, naturally for this type of endeavour you would seek to select one with a great track record of delivering projects of the scale you are planning.
.NET or PHP?
Another important factor is to consider the technology platform you want to build on. It may be that the platforms available to you will be somewhat limited by your existing I.T. infrastructure. Many organisations have an I.T. policy that stipulates that they work in either a Microsoft or a Linux ecosystem and that all new software must be developed on a supported technology stack.
Both of these platforms have their own advantages and disadvantages, but where Linux differs significantly from Microsoft is in the way they are supported. Microsoft technologies
are all managed centrally by the corporation itself whereas Linux is part of the GNU movement and supports a multitude of platforms
and languages. The most popular and widespread of these is PHP. PHP is so widespread that roughly 83% of all websites use PHP.
The advantage of this huge network of PHP users is that many frameworks and platforms have been developed. Frameworks can be very useful for application development
. It enables developers to save a lot of time and work more consistently but supporting repeated tasks and logic.
Our favourite PHP framework at fastfwd is Laravel. Laravel is so popular because of its simple and powerful syntax that enables developers to build very complex applications far more quickly and with far fewer errors than with any previous framework.
Where Laravel fully proves its worth in the development process is by simplifying repetitive tasks. Over the years I have worked on a lot of development projects. The most common problems that crop up in testing are related to routing, authentication, caching and sessions. Laravel is miles ahead of other platforms in supporting these painstaking and repetitive tasks. This brings improvements in developer performance that you truly notice in the testing phase.
Here are my 5 favourite reasons why Laravel is the best choice for PHP development
- It’s so Modular: The Laravel framework is built on a couple of dozen different libraries. These are divided into separate modules which enables developers to build web apps in a modular way that makes projects more scalable in the long term.
- The Way it Handles Databases: Migrating a database is a sensitive job, the smallest error can have dire consequences for the customer and often introduce frustrating bugs and crashes that can take months to iron out. In Laravel, Migration is done using PHP rather than SQL. This is much more flexible; it enables the database schema to be changed on the fly, protecting the original database integrity but facilitating the introduction of new tables and values as they are needed during project development.
- It makes it easier for a developer to develop secure applications. Many people lose sleep over the security aspects of their web development projects. Most frameworks rely on external services for security and user management but Laravel has powerful security options built into its framework. Laravel makes use of salted and hashed passwords meaning that the password is never stored as as plain text in the database. The salt value for the password is generated at random and can be any length. It is then hashed into an incomprehensible array of numbers and letters. This combination means that the application is safeguarded to a high degree against brute-force attacks.
- Templating engine: Laravel comes packaged with a flexible templating engine that developers can use to create an enjoyable and effective UX, with reusable components fed by dynamic data.
- Testing: Laravel runs hundreds of unit-tests to ensure that updates deployed by developers will not cause unexpected errors or in some other way break the app. This makes such a big difference at the UAT phase where relationships between clients and the project management team are not strained by simple and avoidable bugs.
If you are researching the development of a new piece of hosted software or web application, I recommend you look carefully at the Laravel framework
for its basis. It really is the best of its breed.