Thursday, 13 October 2016

QA Consulting - Personal Blog #3

It’s coming to the end of my sixth week here at QA Consulting so I’ll give a breakdown of the last two weeks.

So last week several of us have been chosen to do front-end development potentially at BAE Systems, although this is still up in the air (hah) as not many details have been released. So we began training in front end development, specifically JavaScript. I’ve previously used the language to develop a small web-based fault tree viewer in university that could break down a hierarchical structure of gates and display them in HTML5 canvas. This time we covered more of the basics to start with, then covering JQuery, a JavaScript library for client-side scripting of HTML that’s used on 65% of the worlds’ top 10 million websites. We then covered Ajax which is a set of web development techniques used for making asynchronous and updating webpages.

From these technologies and with an SQL database running from XAMPP I could implement a database that communicates through PHP to display on a web page using Ajax to continuously update content. Using this I made a small catalog of products with various fields. The users could modify the data set using lists of modifiers such as ‘sort price high to low’ or type of products.

I also successfully implemented a searching function that attempted to match each tag provided by the customer with the database fields for name and a list of tags the employee adds when adding a product to the catalog. These all dynamically changed the SQL query and displayed the relevant content.

This wrapped up the week and while not perfectly intuitive it was interesting to learn each of these techs as I’ve not really learnt them much before.

I then moved onto AngularJS a structural framework for dynamic web apps. It extends HTML’s syntax to express custom components and features data binding as one of its core features. So we started learning angular 1 and after getting to know the very odd and obscure syntax we were told that there’s Angular 2 which changes basically re-does a bunch of stuff and completely changes the syntax again.

This time Angular doesn’t look so pretty, it’s very time consuming to create and the learning curve is extremely steep for only mild benefits. This is because the majority of the functionality can be found from HTML5, Ajax or JQuery which I covered all the week prior! A simple catalogue system that took five or so files ended up taking over 70 to produce similar content. Angular also loves to deviate from set standards within the programming world, instead of the usual camelCase style that the majority of languages follow, Angular goes for kebab-casing and whoever thought:
return Observable.of<Product[]>([]);
That you needed eight special characters at the end of a simple return statement needs some crazy pills.

As you may can tell I’m not a massive fan of Angular but the experience was good and now I know not to touch it again with a 10 foot barge pole if i can.

I’m looking forward to next week where we start to cover Java Enterprise Edition, while I’ve done the standard version before I haven’t covered the large scale distributed multi-tier functionality EE adds to the standard edition.

No comments:

Post a Comment