Introduction to Application Frameworks

Chathuranga Dissanayake
3 min readFeb 24, 2022

This is a brief introduction about how to develop applications using industry standards and industry-leading frameworks.

There are five object-oriented principles that should follow when designing software products. Those are known as S.O.L.I.D,

· Single responsibility — States that each class should have one specific purpose and a responsibility.

· Open-close — It’s possible to extend it, but it’s not possible to change it.

· Liskov substitution — States that functions that utilize base class pointers or references must be able to use derived class objects without being knowing of it.

· Interface segregation — States that no code should be forced to depend on methods it does not use.

· Dependency inversion — States that high-level modules should not depend on low-level modules.

In software engineering, there are some better technical solutions to overcome a business problem. In order to do it, should have to have a clear understanding of the problem. Then the problem can divide into smaller problems which are known as the divide and conquer method, it makes the problem less complex and easy to understand. Keep it simple and stupid (KISS) and when designing the solution, learn from the mistakes and keep in mind the reason software exists.

After designed a solution for a problem and when implementing that solution there are some important guidelines.

· YAGNI — States a programmer should not add functionality until deemed necessary.

· DRY — Principle of reducing repetition in the code.

· Embrace abstraction — States system functions properly without knowing the implementation details of every component part.

· DRITW — Sates that reuse the solution for a problem that someone already solved, write code that does one thing well.

· Debugging is harder than writing code so make it readable as possible.

· Kaizen — Fix not just the bug but the code around it.

1. JavaScript

Asynchronous dynamically typed single-threaded language which supports OOP as well as functional programming.

When creating a JavaScript object, the constructor function is used with the ‘new’ keyword.

There is an object called ‘prototype’ in JavaScript which is used when creating objects, for inheritance and adding methods to a JavaScript class.

The ‘this’ keyword in JavaScript behaves differently than in other languages. The word ‘this’ in the context of an object refers to the object itself. ‘This’ refers to a global object in a global context.

JavaScript closure is a function that returns another function, it is used to encapsulate variables into a function and restrict access to it from the outside.

2. Version controlling

Also known as source control is the practice of tracking and managing changes to software code.

Version control systems are software tools that help software teams manage changes to source code over time

Version control software tools — Git, CVS, SVN, TFS, Monotone, Bazaar…etc.

Git

Most popular version control system.

Free and open source

Supports protocols like SSH, HTTPS.

Commands — Git init, Git clone, Git add, Git stage, Git commit, Git push

3. NoSQL

NoSQL is an approach to database design that enables the storage and querying of data outside the traditional structures found in relational databases.

Open-source.

Removes the burden of data structure mismatches between in-memory applications and relational databases.

--

--

Chathuranga Dissanayake

Software Engineering undergraduate at Sri Lanka Institute of Information Technology | Tech Lover