Moving to Full Stack JavaScript Development

Moving to Full-Stack JavaScript Development

Faton Selishta – CTO & Co-founder of Kutia
Astrit Zeqiri – Team Leader of Kutia

As a part of the largest technology conference held in Kosovo on October 24-25, 2019, Faton Selishta and Astrit Zeqiri held a presentation on the topic: “Moving to Full Stack JavaScript Development” in the Developer’s Stage.

Starting with the introduction of previously used tech stacks such as: PHP and Javascript jQuery, Laravel and vue.js, WordPress and vue.js/React.js, LAMP tech stack, Faton and Astrit explained the steps to follow and the reasons why “KUTIA” switched to Full Stack  JavaScript Development . 

Why we moved to Full Stack Javascript Development:

One of the main reasons we switched to Full Stack JavaScript was to facilitate the communication between front-end back-end and mobile development teams.

In addition to this, one programming language to rule them all is a great way to achieve more.

Having front-end and back-end developers “speak the same programming language improves productivity. In this way,  the work accelerates, even with fewer programmers onboard. In addition to bridging the gap between the front and the back end, Javascript offers an environment that welcomes expertise in full-stack development.

Another great reason to switch to JavaScript is writing less code. Writing client-side and server-side logic in the same language produces more reusable code. There’s no duplication of business logic across different languages, which implies writing less code per feature.

Less effort-Faster apps. Great news! There’s less effort and time involved in bridging the client side and the back-end if they’re written in the same language. This is something that causes a major positive impact on  a web developer’s every day work.

Developing with JavaScript also provides an opportunity to share the code base not only between mobile platforms but also React web applications. The framework provides numerous ready-to-apply components that can accelerate the process.

An important part of the presentation was dedicated to explaining what NodeJS is and how to use it, and also developing apps with NodeJS and NestJS.

Nest.JS

  • Javascript Framework: Nest is a Javascript framework for building efficient, scalable Node.js server-side applications.
  • It is built on top of Express and is written in TypeScript (a superset of Javascript).

Why Nest.JS and not Node.JS + Express?

  • Typescript support.
  • Uses Express.JS underneath.

Nest.JS Pros/Cons

Pros: 

  • Modularity
  • Typescript
  • Folder structure heavily based on Angular.JS
  • Combines [OOP, FP, FRP]
  • Relatively easy learning curve

Cons:

  • Lack of documentation
  • Small community
  • Not backed by a large Enterprise

After explaining the pros and cons of Nest.JS, the structure of Nest.JS was explained as below:

Controllers: Handle user requests and return responses
Providers:
Plain javascript classes with @Injectable() decorator
Services, Repositories, Factories, Helpers etc.
Modules:
A plain javascript class annotated with @Module() decorator
Used to organize the application structure.
Middlewares:
A layer between the Http Request and the Route handler (Controller)
Exception Filters, Pipes, Guards, Interceptors, Custom decorators, etc…

The second part of the presentation was dedicated to live coding with NestJS, while Astrit’s advice was to work with both Node and NestJS. He suggested to use TypeScript instead of Vanilla Javascript on projects since it contains many benefits which would help developers in the long run. Astrit emphasized that when Kutia’s back-end developers had to adapt to a new language, they benefited greatly by making the communication with front-end developers easier and the integrations smoother.

KosICT created numerous opportunities to attend various presentations at the Developer’s Stage, where useful presentations were given. “Moving to Full Stack JavaScript Development” was one of the presentations that caught the attention of all those interested in knowing more about JavaScript. As Faton and Astrit gave specific reasons on why  Kutia decided to move to Full Stack JavaScript Development, made this presentation useful and helpful for all the web developers that were present.