The right tools for the job

The Frameworks that I Use

Pure Blue
Making Things That Matter
4 min readJul 26, 2018

--

This is going to come up eventually. Sop, I wanted to take a short trip down the tools lane. What do I use every day for building products?

As we discussed last week, I’m a big fan of frameworks. So, this is a description of each framework and why I use it. Your results will vary.

NOTE: This is a VERY opinionated piece. I typically don’t share my opinion on tools, but this week you’re getting my opinion. This does not mean that I disregard other tool sets. I just don’t like them.

Before we begin, let me introduce the concept of Loose Coupling. No, this is not some risque concept. The idea behind loose coupling is that you can swap out any one of these different tools and replace it with something else. So, I can swap out the tools I use for logic, APIs or the database and not lose the entire app. Loose coupling is your friend. Learn to love it.

Also, here’s a quick discussion of each part of the apps that I build.

Backend: Database and some serve request logic
API: Application Programming Interface — how services or apps can talk to each other but not have to be completely integrated together.
Business Logic: How to make requests and what happens after the request to the database has been made
Frontend: The user experience, visual design, and visual yumminess

Backend

For all my serious app work, I go to Django. I’ve been using Django for a long time now. I love everything about it. The community is amazing. The code is concise, and the support is everywhere. From live chats to StackOverflow to conferences, you can always get an answer to what you are struggling with.

Django is an application development framework built on top of Python. It is Python. So, if you need something that isn’t provided out of the box, it’s just Python. So, not only can you get great support for building Django you can also get great support from the Python community.

I still think that the Django admin is one of the killer features. You can have a completely “done” admin right out of the box**. So you can play with ideas in a rudimentary way without having to invest in a ton of code.

APIs

Since I use Django almost every day, Django Rest Framework for REST API creation is a no-brainer. Building REST APIs can be a serious pain in the ass, but DRF makes the process a little bit more transparent. It’s still a lot of work, but by adopting the Django approach to the design thinking, things do get easier.

Business Logic

For the front end logic goodness, I use Vue.js. I love Vue.js. Imagine Angular and React got together and had a baby. And that baby was exposed to a lab experiment of awesomeness and was way cooler than it’s parents. All the power, in a much easier to use package. That is Vue.js.

All kidding aside, Vue.js is fantastic for two reasons. 1)You can build a complete Single Page Application in it or 2), you can use it for a specific piece of functionality on a specific view. You aren’t committed to a giant framework to accomplish a list filter. This si my favorite feature of Vue.js. Large or small, it get’s the job done.

Frontend

My personal favorite right now is Foundation. For CSS (Sass), HTML and some Javascript, Foundation seems to do a good job of staying small and nimble as well as embracing the newest goodness.

Foundation’s documentation is fantastic. I love the way that Zurb, the company behind Foundation, approaches design. They are way more agnostic then other frameworks and I find that I can get to a good design WAY faster with Foundation than with the others.

I’ve used lot’s of frontend frameworks, and foundation consistently lives up to the hype and does a good job making my job easier.

A note about CSS-Grid. If you are building products and you aren’t using CSS-Grid what are you waiting for? I haven’t found a framework that makes that dead simple yet so I roll my own. Another reason I like Foundation so much is that its dead simple to incorporate your tools into the larger structure.

I’ve yet to come across a problem that these tools can’t help me solve. They are each flexible and powerful, so the possibilities are endless.

Lemme know if you have specific questions about the frameworks that I use. I’d be happy to help.

** I know that Django’s admin is not your app. Work with me people.

Join the Conversation

This is the from the archive of an ongoing series called Making Things That Matter. Each week I will send you an email with another step in the process of building products and launching ideas. Signup here to join the conversation.

--

--

Pure Blue
Making Things That Matter

Discovery, Design and Development. We build web applications and provide services that help you and your users. https://purebluedesign.com