Monday, June 22, 2020

Analyzing th strengths and weaknesses of the technologies I will use during my New Technologist Internship

STRENGTHS AND WEAKNESSES OF REACTJS AND TYPESCRIPT

During the New Technologist Internship with Microsoft and Cyborg Mobile, I will use two major technologies ReactJS and typescript.

REACTJS

ReactJS is an open-source JavaScript library that makes the creation of interactive single page websites and mobile phone applications painless. It is maintained by Facebook and individual developers and companies.

The main objective of ReactJS is to create User Interfaces that improve the speed of the applications. This performance enhancement is supported by a virtual Document Object Model(DOM) that entirely exists in memory and represents the web browser’s DOM. The use of a virtual DOM enables the writing of virtual components whose data React writes in the HTML DOM, resulting into a smoother and faster performance of the applications.

React makes the development of dynamic web applications easier because it uses JSX(JavaScript Extension) which is a particular syntax letting HTML quotes and HTML tags render particular components. This results in less coding yet give more functionality and support the building of the machine-readable code.

ReactJS web applications are comprised of small components that have individual logic and controls. These components output reusable HTML which makes the development and maintenance of React web application easier. These components also enable fast reloading because React uses a virtual DOM that changes individual DOM elements instead of reloading the entire DOM every time.  Furthermore, the components can be nested to enable the development of complex components using simple building blocks.

Another strength of ReactJS is the ability to support handy developers’ tools which make the task of developers understandable and easier. These tools include the chrome and Firefox dev extensions that enable inspection of the React component hierarchies in the virtual DOM through selecting, editing, and examining of components.

Although React is easy to learn for developers with a JavaScript background because of the availability of documentation, tutorials, and other resources, JSX is a barrier for new developers because of its complexity and steep learning curve.

Additionally, ReactJS has a high pace of development causing continuous changes that developers must continually learn. These updates not only make some developers uncomfortable but also affect the documentation because developers need to constantly update documentation depending on the fast-changing updates of React technologies.

A major weakness of ReactJS is that it covers the UI part only of the web application hence requires other technologies to complete web application development.

Typescript

Typescript(TS) is an open-source programming language developed and maintained by Microsoft that compiles to JavaScript. It is a syntactical superset of JavaScript, meaning that all valid JavaScript code is also valid TypeScript code. TypeScript defines the “type” or intended use of given data, unlike traditional JavaScript that is dynamically typed. Unlike JavaScript, TypeScript provides Object-oriented features like classes, interfaces, constructors, access modifiers like public, private, fields, properties, and others.

Although TypeScript inherits the major pros of JavaScript, its major advantage is strong optional static typing. Once a variable is declared, it does not change its type and can take certain values. This enables the compiler to alert a developer of type-related errors during the production phase resulting in fewer errors and better execution during execution. Static typing also gives the code more structure making it self-documenting and more readable.

Since TypeScript does not force declaring types everywhere, it enables developers to change the level of strictness in different parts of the project. This approach distinguishes TS from other statically typed languages allowing developers to find the right balance between flexibility and correctness.

Furthermore, TypeScript supports type inference. Type inference is implicit typing performed by TypeScript so that developers do not provide types where the compiler can find them.

Although the typing system is a great tool, it is overly complicated to use and brings a false sense of security because of the type checks supported by TypeScript. The false sense of security stems from the type checks by TypeScript are during compilation after which the code is purely JavaScript that has no type-checking abilities.


 

Bibliography

1.       Reactjs.org. 2020. React – A Javascript Library For Building User Interfaceshttps://reactjs.org  Accessed 17 June 2020.

2.       www.javatpoint.com. 2020. Pros And Cons Of Reactjs - Javatpoint. Available at: https://www.javatpoint.com/pros-and-cons-of-react Accessed 19 June 2020.

3.       Wiseley, M., 2020. Pros And Cons Of Using Typescript In Your Web Projects - Wakefly Blog. Wakefly, Inc. https://www.wakefly.com/blog/pros-cons-using-typescript-web-projects Accessed 22 June 2020.


No comments:

Post a Comment

Research completed or skills or technologies I to learn to advance my internship learning goals

  A month before the start of my internship, I won a gift card from Facebook developers circle Berea College to enroll in a full course on U...