This weeks assignment, identifying and assigning the varying tools I might need, throughout my course and towards my eventual career, showed me how much research needs to do be done before a choice should be made. I found it useful and important to set out criteria and remain aware of financial and time capabilities that I personally may have. These would affect the limitations of what I could achieve within the course and beyond and quickly ascertaining that the hardware equipment I owned and the time I could spend on and testing with the different operating systems helped me make the informed choices that I made.
One of the main obstacles I faced when choosing a tool for a server side web development is my lack of experience. It’s easy to compile a list of all possible frameworks and languages used to make web apps but to compare them critically with educated opinion takes time and knowledge. For example; I did not know that, unlike C++ or Swift that are compiled languages, PHP is considered an interpreted language. This means that every time a request is made to the web server, essentially, a PHP script is run. This fundamental difference between languages, changes how a web server might be built or interacted with. PHP applications can often allow for editing of template files and without restarting the server, they encounter very little hassle with memory management or memory leaks. These things are incredibly useful to know and this kind of insight was learnt over 6 hours of Laracasts tutorials and a couple more hours of blog post reading. It is not only the difference in languages that I needed to identify when thinking about app development for the web and eventually progressing towards my career goals. Choosing a framework was difficult. When I didn’t know the ultimate functionality I may need for an app, or why a specific feature of a framework was useful, it made choosing one even more difficult. These features could be small things such as the framework offering a mail client, so that you can easily implement user authentication via an email or something as critical as speed benchmarks parsing a JSON package. I needed to identify at least a few of the key things I wanted to be making over the next year or so, so that I could pick with a more informed view.
With relation to server side web development; I know that I want to eventually build a server side licensing system, as such being able to create users with authentication and authorisation was important as well as a mail client to help with user management would be critical. As such I looked for frameworks that made building new sites quick, easy, with readable code and that offered solutions to those specific areas. I knew that my lack of experience within web development, understanding fundamentals that an experienced web developer would know, would likely hamper the speed in which I would be able to put an app in front of a user. As such I looked for strong technical support, both in written and video mediums but also within a strong community either on forums or social media channels. I have selected Laravel for these reasons. Laravel’s clean and beautiful style with a massive and supportive community based upon a proven language, PHP, should prove to be a good choice.