npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

graph-navigation-js

v1.4.0

Published

Middleend architecture library

Downloads

365

Readme

Graph navigationJS

Introduction

GraphNavigationJS is a library that allows us to set up an middleeend architecture for our client-server applications. In this case, we see the implementation of the library to create a middleend that will be consumed by a web desktop version, a web mobile version, and an Android mobile version. We can see from the wordings on the first screen how the middleend can handle different versions for each type of client.

Rest-01

Rest architecture vs Middleend architecture

Rest

In a classic rest architecture the client device is responsible for the UI and in greater or lesser extent is responsible for the client logic. At the same time these devices consume the backend resource trought an rest api.

conceptual schema Rest-01

devices ecosystem example Rest-01

Middleend

In a middleend architecture the client devices are just encharged of show the UI, a pure frontend application. In this case there are a intermedial layer between the pure frontend and pure backend; it this layer (middleend) will found the client logic.

conceptual schema Middle-01

devices ecosystem example Midle-01

Middleend architecture advantages

  • Client logic in one poit: The goodness of hav the client logic in a single point is that if you have more than one device that reprecentan the same product, at te time of add or fix client funcionalities, you just has to touch in one place.
  • Repeat code: If you have more than one device that repressent the same product, you dontt have to replicate this code in each device application.
  • Light client applications: a the same time, the client device applications became a light pure frontend applications.
  • One entry point to your network: in this architecture the client just consume one endpoint dedacated to return the UI to be interpreted by the client. So yo just has one entry point instead multiple backend applications. A the same time, the middleend consumes your backend applications that are probably hosted in the same network; become a safety network.

Library content

The library is compossed by three parts.

  • API: encharged of the interface between client and middleend applications.
  • Client: Encharged of manage the client navigation.
  • Server: Encharged of build the steps graph and manage the server navigation.

Library content

Lib-01