2
0 Comments

Framework Madness: Choosing what to build with

I am just writing this post to provide some insight into my own use-case, and the process I am using to choose which framework and architecture I am going to build my project with.

So to start, what kind of product am I building?

I am building a analytics platform that connects to two APIs and a back-end. I will need to use OAuth, as well as Stripe for payments. I will also need to configure notifications from Google's Notification API, at some point in the future.
My user's dashboard page will contain some charts and metrics, that are being created using Google's ML API or OpenAI

So now to get started with...

The Front-End

Svelte

I originally wanted to use Svelte for the first start, but then realized Sveltekit has SSR and is a better choice for that reason. It is very different building things with an SSR setup, and it kind of reminds of old school MVC types of setups, mixed with modern development.

Sveltekit

I started building, but the going was slow as it was my first time using the framework. It was very intuitive except for the SSR setup, which takes a second to get used to. I started trying to hook my front-end up to firebase, and realized very quickly that the lack of documentation and tutorials was slowing my progress.
So then, I decided, maybe Vue or Nuxt.js might be a better fit, and make a more maintainable code base....

Vue

I am debating switching to Vue as it is kind of a middle-ground between something like svelte and my default Angular. There are a few reasons to switch, but mostly because of the better documentation and community adoption. But than, I started thinking, maybe the best choice is to use what I already know.

Angular

Although I love the framework, it feels kind of old-school and overkill for my small project even though it is the framework that I am most proficient in.
They say that it has a learning curve, and I have tons of experience with it, so it is very possible that I give up on Vue and switch back to it. I guess let me know what you guys think!

TS

I did stick with typescript as I find it better than pure JS for many reasons.

React

I avoid React, as I hate JSX syntax.

Styling and UI

I was trying to use Tailwind, just to learn it, but it is kind of too much to worry about while trying to pick up a new JS framework.
I ran back to bootstrap as soon as I started writing components as it was much less of a headache for rapid deployment. Once I have an app built I will create an entire stack of trello cards for updating the UI to something custom with Tailwind.

The Back-end

Right now I am using supabase, but I think I will move over to firebase for most of my back-end functionality. Most of the reason for this is that I prefer a NoSQL database with more flexibility, plus there is a much more robust serverless architecture for any other pub/sub/OAuth stuff I may need to do. Right now I will use supabase until I find a good reason to switch, and so far it has been the easiest part of my app to be honest.

SupaSvelte

If supabase continues to support my uses and connects up to my APIs without a headache, I guess I will have a SupaSvelte app.

What do you guys think about this choice? Would you go with Vue? Or do you think svelte will be good enough for a simple analytics app? What UI frameworks could I use to rapidly build up a dashboard like that with Vue? With Angular?

I'm looking for opinions and feedback, and would love to hear your input!

on December 13, 2022