Wednesday, February 7, 2018

Front-end Frameworks: Custom vs Ready-to-use Solutions

The dilemma over “custom versus ready-to-use” is pretty common in the Web world. Whether we talk about CSS, JavaScript, PHP, or a framework in any other programming language, the question of whether to use a prebuilt codebase versus using your own code arises often. This is especially important for front-end frameworks, because they’re directly responsible for the look and feel of a website.

Frameworks like Bootstrap and Foundation have changed the way people build websites. These tools make it a lot easier, even for non-programmers, to create complete websites with minimal effort and time investment. But such “automated” website building can have some serious drawbacks.

So the question remains: is the easier solution the better one?

Although most people tend to choose the tool that gives them the fastest and the easiest results, this, as we’ll see later, is not always the best possible option. Also, it seems that many people are more or less confused when they need to choose between custom and ready-to-use variants. That’s why, in the next part of this article, we’re going to examine the problem in more detail by exploring the advantages and downsides of each choice, which I hope will help you make the right decision when you’re faced with this question.

Advantages of Ready-to-use Solutions

The reason most people prefer ready-to-use frameworks is that they offer great advantages. Let’s look at the most important of them.

  • You don’t have to be a programmer. Decent knowledge of HTML and CSS is enough, in most cases, to build a good-looking and functioning website. All the prior programming has already been done by skilled developers.
  • As already mentioned, a framework solution seriously minimizes the time and efforts involved in the website building process.
  • The plug-and-play functionality. We need only to type some markup to get a fully functional piece of code (a well-cooked HTML, CSS, and JavaScript soup) without worrying about styling, dynamic behavior, and so on.
  • When we download a framework’s package, we can be sure that we have stable and well-tested code. This means that your website will look and behave properly on all browsers that the framework supports.
  • We get regular updates with bug fixes and new features for the framework.
  • Because of the popularity that ready-to-use frameworks have, you can rely on help from the community in the form of articles, tutorials (for the framework learning process), and framework add-ons and extensions (for the website building process).

As you can see, there are so many advantages to using a framework. But if you rethink it well, you’ll see that most of these refer to the time and efforts you save during the learning and/or building process. These advantages are not strictly related to the quality of the final product. In short, they concern you and your time and efforts, but not necessarily your product.

This is the exact opposite to our users’ and clients’ interests. They care about how good your product is, and not how much time and effort you’ve invested to learn the framework and build the website.

So, the easy is good, but …

Downsides of Ready-to-use Solutions

Everything comes with a price. Despite the many advantages that a ready-to-use framework offers, there are also some serious drawbacks. For an average user, or for one with modest requirements, the downsides listed below can seem insignificant, but for one looking for the best possible quality, these downsides are of highest importance.

  • Although the plug-and-play functionality sounds great, before you take advantage of using it you’ll need to invest time to learn how to use it.
  • Because “ready-to-use” often means “one-for-all”, such a framework attempts to solve every single problem for every single situation that a front-end developer could encounter, which leads to a lot of unnecessary code.
  • As it’s made for mass consumption, you can be almost certain that you’ll need to tweak a ready-to-use framework to meet your requirements, which will take additional time.
  • If you don’t make any customizations your website will look like all the rest, which can damage your product’s image or at the very least do nothing to improve it.
  • In many cases, the framework you’ve chosen won’t have all the components you need, which can lead to an additional third party integration step (possibly in the form of bloated jQuery plugins or similar).
  • You have no control over the code. If the development team decides to remove some component from the framework, you’re forced to accept that change. If you don’t want it, you have to use the a modified or older version of their product.

For the above reasons, you’re unable to achieve some of the most important goals in website building such as uniqueness, high performance, strong compatibility and usability, and a compact and unified codebase and appearance. This is very important, because in web development, especially for mobile, every small improvement can cause great impact. So, “being average” is not a smart decision.

Advantages of Custom Solutions

If you’re looking for the best results, then a custom framework can provide some strong advantages.

  • Once built, a custom solution will save you time and effort in the future because it was built precisely to your long-term needs.
  • You or your team will not need to learn how to use or customize it because you’ll know your framework inside out (although new team members will need to learn it).
  • It’s optimized to satisfy only your needs, not everyone’s. This way, it’s far easier to achieve high performance.
  • You include only what you need and in the way you need it. No unnecessary stuff, no bloated code.
  • You have full control over the code and its design implementation. You can be sure that some really great feature won’t be removed or deprecated in future releases unless it aligns with your agenda.
  • Complete modularity. The flexibility of your framework depends only on you. You can use only those parts of your framework that you need for a particular project.
  • A unified code base. You can minimize the need for third-party components, which means less mix-and-match work.
  • Uniqueness of your website is 100% guaranteed. Default themes in most frameworks are pretty much the same, so you still need to create your own. But for your framework you can create unique themes from the very beginning.
  • Despite the initial extra work and maintenance, the process will teach you a lot, and thus will improve your skills as a developer.

These advantages may also impact in a positive way your time and efforts, but in this case they’re addressed much more to the quality of the final product, thus giving you the ability to achieve the best performance, functionality, and appearance.

Continue reading %Front-end Frameworks: Custom vs Ready-to-use Solutions%


by Ivaylo Gerchev via SitePoint

No comments:

Post a Comment