Node.js is for Everyone
The Pros & Cons of CMS APP Builders
So you’ve decided you want to build your mobile application with a cross-platform solution. Now what? There is yet another decision to be made: Should you build your app with a CMS? Let’s first go over a quick definition of CMS, or content management system. What makes a CMS a CMS? First, there is usually more of a drag-and-drop feel than actual coding. An example may be dragging and dropping a text box component rather than coding ‘<input type="text"></input>’. Next, there will be some type of dashboard. And usually you will be able to create different permissions for various users of the dashboard. For example, you may want to allow someone to be able to sign on and change some text, but you may not want them to be able to edit the styling of the application so you would edit their permissions accordingly. Now, let’s take a look at the pros and cons of CMS app builders to help us answer the question we originally asked: Should you build your app with a CMS? Pros Code faster - CMS app builders allow you to build apps at lightning speed. I can build a complete app (ready to be submitted to the app stores) with a CMS builder within hours. The ease of drag-and-drop can save huge amounts of time and effort. Client customization - This pro comes along with the dashboard aspect of CMS builders. This comes in handy when you are offering customizable apps for clients. With a dashboard, you can create a login for the client and let them sign on to their application’s backend for simple text updates or adding a blog to a blog section, for example. Automatic updates - Getting an app through the App Store can be a frustrating process because of the length of time it takes to be approved. That’s not so bad for the initial submission, but waiting days for each update can be an issue if you have a client that is constantly wanting changes. Usually with CMS builders, you can automatically push 99% of updates (excluding splash screen or icon changes). Cons Costs money - One major con to using a CMS builder is that it is not free. Usually for a single app, it will cost about $50/month and will only stay live while you are paying the subscription. For reference, check out the pricing sheet for one of the top CMS builders here. You can easily see how this could get very expensive very fast with multiple apps. One thing to keep in mind is that if you know you will be creating multiple apps, most CMS solutions offer some type of affiliate program. This means you will be able to pay a higher monthly fee, but you will be able to create as many apps as you like. Less control - Sometimes with CMS builders, you lose 100% control of what you can do with your app. For example, they may only offer a set amount of templates you can use for a page. Most will offer a blank HTML template you can code yourself to help with this, but if you are trying to avoid hours spent coding then that doesn’t really solve your problem. So, what’s the answer? Of course, it depends. If money isn’t an issue and you want to be able to quickly create customizable apps, a CMS builder is most likely the way to go.
Coding Mobile Applications: To Go Native or Not
Scaffolding – The Future of Software Development
As science and technology evolve, new features are compounded upon old features like building blocks. Most people agree that in this linear fashion you can’t get to point ‘C’ without starting at point ‘A’. But should you really have to start from point ‘A’ every single time? Let’s talk math for a bit. Don’t worry, you don’t actually have to solve anything. Take this equation: ∫6x = 3×2 + c. Since we’re taking the integral of 6x, this is labelled as Integral Calculus. According to Kahn Academy, one of the leading sites for learning mathematics, before learning Integral Calculus, you should know Algebra, Geometry, Trigonometry, Probability and Statistics, Pre-calculus and Differential Calculus (in roughly that order). It would be insane to do an exercise in all of those every single time you had to do an integration problem. But in software development, that’s exactly what we do. If you’re a software developer, you’re probably thinking I’m crazy, but hear me out. One more hypothetical scenario: let’s look at what it would take to make an Android app. First, we need to design the login page. Well, that’s got to be easy, since all login pages look pretty much the same, except some mild theme rolling. So we put up fields for username and password, then buttons for submission, registration, and password retrieval. We’ll take care of login itself first, so we write a method to encrypt the password to SHA-256 before submitting it to our server. That’s when you find out that newer versions of Android can’t do network calls on the UI thread, and you scream out in frustration, “Why am I making something as mundane as a login screen? People have done this a thousand times, this is ridiculous!” Think about how many applications haven’t been made because the tasks leading up to it were too complicated, took too long, or were just too boring. As software grows and requires more boilerplate code, the effort of a developer grows greatly – and this is just to ensure a sturdy foundation. Thankfully, there’s an answer – scaffolding. Scaffolding, in the software development sense, is the technique of generating a generic application with features common to most modern applications already built-in. A decent scaffold would include, for instance: login and registration pages, server connections, routing, model templates, controllers, security mechanisms. By using a scaffold, you can cut days, if not weeks, off of your development time – and we’re just getting started. So, how can you start scaffolding your next application? Well, luckily, Yeoman makes that part super easy. The downside – Yeoman is geared primarily toward web development with NodeJS. Why aren’t there really scaffolds for mobile or desktop applications? The only real answer is because nobody’s created it yet. Keep an eye out, though; the market is prime for a major scaffolding company any day now. - Christopher Johnson