Is your React project organized by features? … NO?

Image for post
Image for post

You know, features are where your resources are organized by what they accomplish in your app (i.e. features), rather than lumping all files of like types into one massive blob of components, routes, logic, actions, reducers, selectors, etc.

If you are using features, then consider this

  • are your features encapsulated and isolated?
  • do your features collaborate in an extendable way?
  • are your components using cross-feature composition?
  • do your features initialize themselves?
  • can you disable features at run-time?
  • do your frameworks auto-configure with only active features?

In short, do your features plug-and-play? … NO?

I know, I know, you’re busy … which is great because projects with busy teams can’t become unwieldyOH WAITI read that wrongTHEY CAN! (I should have worn my glasses)

Image for post
Image for post

Let’s cut to the chase:

  • If your not using features - YOU SHOULD!
  • If your features aren’t based on feature-u - THEY SHOULD BE!

feature-u is a utility that facilitates feature-based development in your React project. It provides tangible assistance in promoting individual plug-and-play features.

Image for post
Image for post

There are a number of benefits in using feature-u, but the two fundamental ones are:

  1. A formal means by which features can collaborate with one another, making them truly plug-and-play.
  2. A significant reduction in boilerplate code by automatically configuring your frameworks and startup initialization.

The following diagram summarizes feature-u’s basic concepts:

Feature Collaboration is accomplished by:

  • Introducing a formal means by which features can collaborate with one another (Cross Feature Communication), making them truly plug-and-play.
  • This includes the ability for UI Composition to cross feature boundaries. It even allows UI Content to be injected autonomously. This is something that has to be seen … it shows off the utility very well.

A significant reduction in boilerplate code is accomplished through:

Features can be disabled

This foundation forms the basis of why feature-u was developed, and manifests itself into a number of benefits.

feature-u is the utility you didn’t know you needed, but subsequently can’t live without! It opens new doors into the exciting world of feature-based development and frees you up to focus your attention on the “business end” of your features!

Image for post
Image for post

Learn more about feature-u:

  • docs - comprehensive feature-u documentation
  • presentation - a feature-u presentation video to get you started (a must see)
  • basic concepts - a full introduction to feature-u concepts and terminology (a must read)
  • eatery-nod-w - a sample web app using feature-u
  • repo - feature-u source

Help me get the word out on feature-u. Your claps determine the distribution and promotion of this article. If you think feature-u has potential, please give it a round of applause :-)

A “current” developer from a different era (70’s UMR alum) … from the greater St. Louis area (Metro East) …

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