Skip to content

background vision metaphor ecosystem

felix-b edited this page Oct 10, 2016 · 1 revision

NOTE: This page is still being written

Vision

Software is getting close to totally ruling the world. In the near future, huge lot of applications will be out and competing for survival in the market. Stable and quick-to-develop will live; unstable or slow-to-develop will die. The ways we create and maintain our software need performance boost and optimization.

Such optimization can already be seen in the fundamental change that operations management went through the past decade. It has shifted towards extreme automation and speed, and this process is going to continue. Take a look at DC/OS, as a vivid example. Whole datacenters of servers and programs are now automatically managed by other programs. In DevOps, the Ops game has changed.

Now what about Dev? Will we follow this shift? I believe we will have to. Those who will spend time re-inventing the wheels and coordinating mega-chaos of big concurrent teams, will lose. When it will come to holding a market share, small teams able to quickly assemble ready building blocks together, and add unique features on top, will be the winners.

Now we need a platform, which will make it possible.

Metaphor

In the name NWheels,

  • N stands for .NET
  • Wheels stands for the phenomenon of re-inventing the wheel, which occurs so numerous times in so numerous software projects.

Ecosystem

While NWheels re-invents the wheels, too, it does so with the purpose of creating an ecosystem for community to develop and share the "wheels". The wheels can belong to many different layers, ranging from infrastructural components and frameworks, to building blocks of business domain models and UI themes.

The ecosystem allows the wheels to be invented, reviewed, tested, documented, demonstrated through sample applications, and most importantly, reused by numerous software projects.

The thorough adoption of "separation of mechanism and policy" principle allows easy experimentation with completely new upper-layer ideas ("policies") starting at any layer, while reusing the lower layers as a mechanism (more on that in Doing one thing well).

Therefore, we see NWheels as something bigger than just another Rapid Application Development tool, of which many are available at the time of writing. We believe that existence of such infrastructural ecosystem will eventually slow down the re-invention phenomenon, and take enterprise software development to a higher level of efficiency.

Background

Architecture

Feature Explorer

Platform Frameworks

  1. Kernel Layer
  2. Platform Layer
  3. Scalability & Availability Layer

Application Frameworks

  1. Domain-Driven Design
  2. Processing Workflows
  3. User Interface
  4. Data representation
  5. Semantic Logging & Data Collection
  6. Testing

Building Block Domains

  1. Infrastructure Domains
  2. Business Domains

Technology Stacks

  1. Database
  2. User Interface
  3. Communication Endpoints
  4. Scalability
  5. Services/Libraries

Developer Tools & Resources

  1. Developer Tools
  2. nwheels.org powered by NWheels
  3. Popular communities
  4. Books and videos

Contributors

Clone this wiki locally