It took a while for me as a developer to realize there are plenty of very interesting hacker things in software development that doesn’t make any sense for business. You could spend weeks to make some precious app or feature that doesn’t give any business value at all. And it’s always seems much more cooler for developer to craft stuff from scratch than use some existing solution. At first sight it doesn’t hurt much to build it from scratch and gives you feeling of full control. But what’s exactly the price?

Consider simple MEAN app from Mastering MEAN: Introducing the MEAN stack article. If you concat full source code of *.js and *.html excluding dependencies you’ll get roughly 3000 lines of code (full source):

App with pretty same feature set made with AllcountJS would look like:

A.app({ appName: "My First MEAN App", appIcon: "heart", menuItems: [ { name: "Articles", icon: "book", entityTypeId: "Article", } ], onlyAuthenticated: true, allowSignUp: true, entities: function(Fields) { return { Article: { title: 'Articles', fields: { title: Fields.text("Title").required(), content: Fields.textarea("Content"), user: Fields.reference('User', 'User').readOnly() }, beforeCreate: function (Entity, User) { Entity.user = User; } } } } });

You could try this demo here.

One could argue these 3000 LOC are generated by scaffolding and I don’t spend time to write it. And while it’s true there is another side of a coin: this code is a part of yours project code base. You need to support it, evolve it and read it after all.

We believe DRY principle and code reuse is much more viable alternative to boilerplates and scaffolding in rapidly changing software world. We started to develop AllcountJS to bring a tool that delivers business value as soon as possible with an opportunity to customize every part of it.

We’re curious what do you think about it? Please share your thoughts in comments below and in our Gitter chat. We very appreciate that!