Base34 - Dev Life & Web TechnologyDev Life & Web Technology2018-09-12T06:15:58.135Zhttp://base34.com/Paul CsapakHexoWhy Ember is the best frontend framework in 2018http://base34.com/why-ember-is-the-best-frontend-framework-in-2018/2018-06-20T08:00:00.000Z2018-09-12T06:15:58.135ZIn this article I want to outline some of the reasons why I believe that Ember is the best solution for building web apps, and why you should too.

In my recent past, I had the chance to work with most of the large frontend frameworks on a few different projects. Among those were React, AngularJS, Angular and Ember. To the surprise of my peers, I can’t praise Ember enough. It’s an excellent frontend framework that enables you to accomplish any task or to build any feature in an elegant and structured way.

So Why Ember?

Next to React, Angular and even Vue.js, Ember is often seen as the underdog among the larger frontend frameworks in use. Despite that, a lot of large and popular sites have been built using Ember. Among those are Discourse, Groupon, LinkedIn, Vine, TravisCI and Twitch.tv.

Technology

Ember is based on an MVC (Model-View-Controller) pattern originally inspired by Apple’s Cocoa and follows a strict “Convention over Configuration” approach. Both Tom Dale and Yehuda Katz, two of the original creators of Ember, contributed to Ruby on Rails and Yehuda Katz, also a jQuery core-developer, created Handlebars among other Open-Source projects. He is also a member of the ECMAScript’s TC39 standards committee, and a former member of the W3C’s TAG (Technical Architecture Group). It’s no wonder that Ember is heavily inspired by Ruby on Rails, uses jQuery, Handlebars and the latest JavaScript features build right in.

Maintainability & Productivity

One of the main reasons why I love Ember are the strict conventions. Since the project structure is already laid out and architectural decisions are taken care of, there’s usually only one or two ways to do anything (also called “The Ember Way”). Why endlessly discuss non-essential project architecture and layout, when you can just point to the documentation?

When opening a large Ember project for the first time, I quickly know my way around the folder structure and can be productive in no time. No studying controllers and models tediously, just clone, install and go. This, among its strong focus on backward compatibility, make it a great asset for large enterprise applications with lots of people working on the project.

Features & Ecosystem

What makes Ember unique and extremely powerful, is not just the framework by itself but the tightly coupled ecosystem surrounding it.This “Batteries Included” design, makes it easy to work with. All the components you need in a complete frontend stack, like data-persistence, bundling, testing and debugging are provided from the start.

Ember CLI

Ember CLI was introduced to provide a standard application structure and a build pipeline, with an integrated testing framework. This way the developer can be productive immediately. Angular developers should be quite familiar with the way the CLI works since Angular CLI was inspired by Ember CLI.

Ember Data (Data-Persistence/ORM)

Ember comes with its own data-persistence library, which works similarly to an ORM (object-relational mapping). Per default, Ember Data consumes a RESTful JSON API that implements the JSON API specification. However, it can be easily configured to work with any API or endpoint through so-called “Adapters”. An adapter reformats and translates the incoming data to make it work with Ember Data’s mapping. This single point of concern also makes it easier to do things like caching data locally, in an offline-first approach.

qUnit & PhantomJS (Testing)

Testing works out of the box in a TDD (Test-Driven-Development) style. With every generated route or component, Ember CLI also generates a placeholder test accordingly. qUnit is used as the default unit-testing framework but can be replaced with Mocha (or any equivalent) if preferred. With PhantomJS, a headless browser, used for acceptance tests, Ember provides a complete end-to-end testing solution.

Ember Inspector (Debugging)

The Ember Inspector is an excellent debugging tool, available as a Chrome and Firefox plugin.

Community & Addons

In contrast to other frameworks backed by single large organizations, Ember is largely community based. This has some great advantages since the people developing Ember are also using it themselves.

The Ember community might not be as big as the ones for React and Angular, but it’s alive and very active. Ember’s pluggable approach makes it relatively easy to develop and publish addons, so for almost anything you can think of, there is an addon ready to be installed. Just one CLI command and you’re good to go.

For example:

ember install ember-electron

Ember CLI will install and configure Electron for your Ember app, no manual wiring up required.

The Ember documentation is very helpful and well maintained, also there are numerous sites teaching Ember.js.

What about Apps?

The go-to solution for building iOS and Android apps with Ember would be a Cordova wrapper. Projects like http://corber.io/ provide an easy way to integrate Cordova with your existing Ember app. Building desktop apps with Ember is easy. The Electron addon is well maintained and takes care of most of the heavy lifting. As mentioned above - one command and you’re good to go.

Further reading

If you want to keep reading more about the ideas and concepts around Ember, here are some useful Links:

Bottom Line

I hope you enjoyed this article and I could persuade you to give Ember a shot. Please share this article or leave a comment below to share your thoughts.

]]>
<p>In this article I want to outline some of the reasons why I believe that Ember is the best solution for building web apps, and why you should too.</p>
Best Sources of Design & Typeface Inspirationhttp://base34.com/best-sources-of-design-and-typeface-inspiration/2017-10-19T10:00:24.000Z2018-09-12T06:15:18.834ZAs a designer and developer, it’s hard to stay on top of the latest UI/UX trends, especially when you’re trying to integrate your customers’ requirements into your designs. Over the past years, I’ve come across many great resources for design inspiration, that gave me the needed insight at critical moments in a project.

Here I outlined some of the most useful sites and resources I use on a regular basis:

Dribbble (UI/UX Inspiration)

Dribbble is “Show and Tell” for designers. Since the platform is specifically targeted at digital creatives, it’s at the top of the list. It has a very high quality of content, great community and is quite well designed itself. No matter if you’re looking for UI/UX, Logo ideas, typeface inspiration or graphic design - Dribbble got you covered

Typewolf (Typeface Inspiration)

Typewolf is extremely helpful when you’re at the stage of figuring out which font or pairs of fonts to use in your project. The articles and recommendations are curated very skillfully. Also, they’re featuring quite a lot of Google Fonts, which makes web implementation easier on the developer side. Check out this article for example A Curated Collection of the 40 Best Google Fonts

Losttype (Typeface Inspiration & Foundry)

Losttype is a typeface foundry, meaning a collaboration of multiple or a single designer offering to sell the fonts they’re creating. The site provides very high-quality fonts, starting with their unique “Pay-What-You-Want” pricing scheme for a Personal Use License. Their fonts have been featured in projects for Nike, Starbucks, Disney and the President of the United States. You can read more in their about section.

Pinterest (UI/UX Inspiration)

Pinterest is a social network specifically for sharing ideas and inspiration, with a whopping 200 million active users a month, it’s also one of the largest out there. No wonder you can find all sorts of great inspirational sources, may it be for UI/UX, layout, typefaces or design in general.

]]>
<p>As a designer and developer, it’s hard to stay on top of the latest UI/UX trends, especially when you’re trying to integrate your customers’ requirements into your designs. Over the past years, I’ve come across many great resources for design inspiration, that gave me the needed insight at critical moments in a project.</p>
Get started with nvm - NVM Tutorialhttp://base34.com/get-started-with-nvm/2017-08-20T21:35:23.000Z2018-09-12T06:15:29.460ZNVM or Node Version Manager is a simple but powerful cli tool that enables you to run and maintain different versions of NodeJS seamlessly. It is a must-have tool for anybody working with Node on a daily basis.

Setup

I’m assuming that you’re familiar with NodeJS and npm.

Run npm install nvm -g and you’re good to go.

Try checking the version with nvm --version or just nvm for a list of all commands.

Installation of node versions

You can install any node version by running nvm install 0.12.0, of course the version number has to correspond your desired node version. Here I’m purposely going for an outdated version.

Running node -v should now return 0.12.0. Note that this is only temporary. After closing your command line, your node version will be reset to what you had installed previously.

If you want to have the same global packages available in your newly installed version, there’s a flag for that: nvm install 0.12 --reinstall-packages-from=0.10.0. Here, at installation nvm will install all global packages from 0.10.0 automatically.

To see all installed node versions run nvm list. With nvm use 0.12.0 you can choose which node version to use in your current terminal.

Setting a default version

By runnning nvm alias default 0.12.0 nvm will permanently set this version as the default. So when opening a new command line and running node -v, you should get the default version, just set by nvm.

Uninstalling

If you decide that you don’t need a certain node version anymore, you can remove it with nvm uninstall 0.12.0.

]]>
<p>NVM or Node Version Manager is a simple but powerful cli tool that enables you to run and maintain different versions of NodeJS seamlessly. It is a must-have tool for anybody working with Node on a daily basis.<br>
My music for workhttp://base34.com/my-music-for-work/2017-06-09T09:06:25.000Z2018-09-16T18:11:19.124ZOver the years working in an office, I’ve created a few youtube playlists in a number of different styles, some of which I want to share with you.

Classical, Barock, Romanticism

Top of the list for me. Classical music is the thing I listen to most of the time. Mostly no lyrics and mild tunes, hence nothing to get in the way of your thinking when writing difficult logic.