As a web developer, I find nothing more exciting than trying out a new JavaScript framework or build tool that everyone is raving about. However, our world of technology (and the world in general!) is developing at a break-neck pace. With new tools appearing on an almost weekly basis (and with each one better than the last), common sense needs to prevail – at least from a business point of view.
These are important decisions for a web development company, and can massively effect the quality and efficiency of your work. A balance needs to be achieved between sticking to tried-and-tested tools and methods, and keeping up to date with the latest trends. Stick too much with the former, and your production process quickly becomes outdated, sub-optimal and you don’t benefit from new technologies. Stray too far into the latter, and you end up never mastering the tools you work with, or find your team in situations where you have little or no trusted community resources to fall back on.
We recently decided to move from VueJS to React as our JavasScript framework of choice.
The reason for this is because we’re looking at improving our mobile app development offering, and at this point we feel React Native has a bigger and more established community compared to the alternative of Native script + VueJS. In an environment where experience and proficiency in your chosen technology is incredibly valuable, splitting web-based and app-based development between two different frameworks just isn’t a good idea.
As you can see from the graphs above, even though the uptake of VueJS has been pretty meteoric, NativeScript still has a long way to go compared to React Native.
When it comes to build processes our first choice is webpack
We’ve used Grunt and Gulp in the past (and still do, when the need arises), but I find Webpack faster and much better suited for modern JavaScript development, even though it’s more complicated to configure.
Version control and deployment is another important decision.
After giving SVN a fair chance we’ve chosen to stick with GIT. Most of the packages we use are GIT based, it’s more widely used and I personally just like the way it works more (especially with regards to handling branches).
When choosing a PHP based framework or CMS, we often have two directions.
For websites that require more out-of-the-box functionality and administrator friendliness we tend to gravitate towards WordPress. For me, WordPress is by no means the most developer-friendly CMS out there, but it’s large pool of community resources, third party plugins and user friendly admin dashboard, make it a great choice.
For more advanced use cases that require a lot of custom functionality, we use Laravel. For the past couple of years it’s been the undisputed king of PHP frameworks and, frankly, we haven’t found anything much better that’s currently available.
There are many factors that go into choosing the right tools
…and although common sense should ultimately prevail, developers should always be experimenting. The more knowledge we can build on in terms of what’s out there and why it’s out there, the easier it will be to make the important decisions when the time comes.
Our processes need to be constantly evaluated against what’s available at the moment and where things are heading.