Photo by Ian Usher on Unsplash

Global Search has become ubiquitous in web applications. Typical functionalities of the global search are :

  • Do full-text search and yield results
  • Provide filters for precise inclusion or exclusion
  • Allow sorting the results based on specific attributes

From an end-user perspective, global search would be something like the following:


Photo by Olav Ahrens Røtne on Unsplash

REST API is the de facto standard for the Web Application (client) to communicate with Backend Application (server).

REST API popularity increased due to its simplicity compared to well-established SOAP based Web services. GraphQL, which has clear specification and good community support, is currently playing second fiddle. “Sooner” the king RPC will be back 😃

Web Applications will need one or more of the following API client patterns. I will be using Axios and JS Promise for the demo

  1. Basic asynchronous call
  2. Orchestration
  3. Split-Join with fail-fast / Split-Join with all-settled
  4. Dynamic Split-Join
  5. Controlled concurrency
  6. Rat race

For demo, let’s use…


Caching strategies have to be chosen based on the kind of content, the change frequency, and user experience/expectation related to the transaction completed.

The benefits of caching any data should be rated based on the following criteria

  1. Prevent unnecessary network calls
  2. Prevent unnecessary load to the backend servers — Web/API Server, DB Server, and any other third-party systems
  3. Prevent unnecessary data transfer

TL;DR


Photo by Immo Wegmann on Unsplash

GitHub stars are tokens of appreciation or an indication of interest. Some consider GitHub stars as mere bookmarks (or bots entry) to which, I would disagree.

Flutter and ReactNative are here to stay and have their own use-cases and community base. The idea of the blog is to analyze the crossover from the JavaScript community to the Flutter (Dart).

Java vs Kotlin, JavaScript vs TypeScript, and similarly JavaScript vs DART is not a big challenge in terms of learning. In the recent past, the JavaScript community has gracefully accepted TypeScript into their eco-system.

Learning a new language cannot be a…


Photo by Hannes Wolf on Unsplash

Documentation is the most needed deliverable for any product or project. Sometimes, documentation is the deciding factor while choosing between two equally good frameworks/libraries in the open-source community.

Markdown played a major role in encouraging developers to do quick documentation without leaving their IDE. Importantly, Markdown fits well into the Git/source code control.

A new kind of documentation has started, which provides an interactive playground. Developers can explore the features of the product/components and can copy the code snippet. For example, check the following Vuetify component page

Storybook allows documenting your component using Markdown and JSX (MDX). …


Photo by Oskar Yildiz on Unsplash

Web application development involves a lot of activities such as:

  • Capturing user stories
  • Creating mockups
  • Developing core components
  • Building prototypes
  • Developing a working application
  • Deployment
  • Testing
  • And eventually acceptance by business users.

In the whole lifecycle of web application development, there are many skillsets involved. In the recent past, we have been seeing a high demand for full-stack developers.

Consider a cricket team (or any sports team). We need specialist bowlers, specialist batsmen/batswomen, and few all-rounders. Sometimes, all-rounders help to win a match or even a series. But, there is no team without specialists.


Photo by CHUTTERSNAP on Unsplash

Continuous learning is a necessity and a challenge to most of us. Companies invest a lot to upskill their workforce to stay relevant. I am sharing my experience and viewpoint about “How to do smart learning?” and importantly “How to keep yourself motivated?”

Remember the following:

  1. Foundation — These are something you gain over a long period of your life from schools, colleges, and/or being around wise people. There are no shortcuts
  2. IT Foundation — These are something you gain either in your college if you are part of IT related streams or during company trainings for freshers. These intense…


Photo by Sarah Kilian on Unsplash

Front-end developers, who know more than one JS framework have an advantage these days. Sometimes, the developer fluency on one “framework” (say React) gets carried on to the development work in another framework (say Vue).

I will be sharing one such experience of React developers working on Vue 2 based project. Some of the listed points would work in Vue, but that’s NOT the approach a hard-core Vue developer would have taken.

  1. Passing a function as props for event handling (callback)
  2. Ignoring the “Two-way” data binding — v-model
  3. Stumble over the reactive variables

💡I will extend the blog as and…


Photo by Pavel Herceg on Unsplash

What is Shallow Equality?

Shallow equality is verified by iterating on the keys of the objects being compared and returning true when the values of a key in each object are strictly equal for all the keys.

Why is Shallow Equality important?

React relies on shallow equality between current and next state/props to decide on whether to re-render or not. Shallow Compare is the negation of Shallow Equality. Render if shallowCompare returns true.

Code fragment from React legacy add-on

Shallow equality becomes dicey when the nestedness increases. I have created the mental model (cheat sheet) to remember the intricacies.


Photo by Ning Shi on Unsplash

A lot happens during JVM Garbage Collection. GC logs would be the closest one who would have witnessed 😄 and record the events as it happens. By looking at these logs we would be able to understand how well our application behaves for a given scenario, configuration, and/or load.

Typical questions that would get answered are

  • Are there too many full GCs?
  • Are there GCs with long pauses?
  • Are there GCs happening too frequently?

Let's Learn to Talk to GC Logs in Java 9 by Poonam Bajaj Parhar

We will explore the GC logs using a simple Java program that…

Prasad Jayakumar

Learner, Mentor, Developer and an Architect

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store