DEV Community

Ryan Whelchel
Ryan Whelchel

Posted on

Day 14 of #100daysofcode: MVP App Planning

Short update today, expect more exciting updates in the coming days.

Today

  • Started today with Interview Prep problems
  • Completed a few more ES6 FreeCodeCamp tutorials
  • Created a basic Django-based app
  • Started the MVP Planning of my upcoming Study Aid App

Upcoming

I'm rephrasing the "Tomorrow" section to be an "Upcoming" section. This way, I give myself a list of things to pick from on the next day so I don't feel so pigeonholed in my projects. I have limited time daily to work on this, so I want to enjoy/get the most out of each days work.

  • Work on the Django app which I made today; I want to try to use React routing with Django.
  • Read on comparing Flask vs. Django
  • Finish MVP plan for the upcoming Study Aid app
  • Start looking into Material UI! I have put some time into learning Bootstrap, specifically the React-bootstrap extension and now I would like to try my hand at learning some about Material UI!
  • I also want to look into Material IO and see how it compares to MUI (or if its basically the same, I have no idea about it)

Resources

JS Course - FreeCodeCamp
Material UI
Django Tutorial
Material IO

Top comments (7)

Collapse
 
cincybc profile image
CincyBC

Have you considered Vue? The learning curve is shorter than React (in my opinion) and has the ability to be imported and used on particular pages only if you wanted. The first big project I worked on was originally written in Django/HTML/JQuery. Coding in all the data you needed in a View and accessing it with curly brackets was very nice back in the day.

We ended up converting it to a Vue App by creating REST API in the Views and maintaining state across pages with Vuex.

If the web app were widely used, we would've completely busted up the monolith, but keeping Django for the ORM, API, and celery tasks built in it rather than creating/using a slew of different options made sense for the project. Complexity gives flexibility to customize, but takes a lot more to maintain.

Ultimately, the path you decide to take depends not only on how much you believe the tool will be used, but also how much time/effort you have to sustain it...

Good luck!

Collapse
 
rydwhelchel profile image
Ryan Whelchel

I haven't considered Vue! I'm very new to the whole front-end development side of things, so I am pretty ignorant of all the tools, languages and frameworks that are available in the field. I started with React partially because it was an assignment in one of my classes. I stuck with React because it seems to be the big name in the field.

The way you describe Vue does make it seem much easier to get off the ground with regards to maintaining state across multiple pages. It sounds very interesting!

I will definitely take a look at the Vue tutorial and get a feel for it! Expect one of the future posts to include my experience of Vue vs. React.

Thanks so much!

Collapse
 
cincybc profile image
CincyBC

Flux, Redux (in React), and Vuex all maintain state... So it's not just a cool tool for Vue.js. React was created by and is still maintained by Facebook/Meta, so it'll remain the more dominant framework amongst the bigger 3 of React, Angular, and Vue. In fact, I haven't seen any recent data on it, but there is a chance one of the other alternatives has eclipsed Vue...

I'm just a lowly data engineer who didn't care for adjusting the shadowing under a box in CSS 😅

The only good advice I can really give you is that once you've found something you feel comfortable with, get really good at it and market yourself as an expert in it. There are SO many tools out there, so be careful not to pick something that won't be maintained (Vue has an organization backing it though they aren't and will never be as funded as Facebook/React) and don't try to learn everything. There isn't enough time in the world to get good at everything and frankly no need to. There are people who do nothing at their jobs other than design visualizations with d3... Similarly, there are people who do nothing at their jobs but design React components.

Best of luck to you! Thanks for sharing your experience.

Thread Thread
 
rydwhelchel profile image
Ryan Whelchel

I have heard that Redux has quite a high learning curve, would you consider Vuex to have a similarly high learning curve? Advanced state management seems like a very, very useful thing to learn to use!

That sounds like extremely good advice! As of right now, I consider myself new enough that I should try out a bunch of tools to see what I like the feel of. React is kind of like my first toe-dip into the giant pool that is front-end engineering.

I really appreciate you sharing your thoughts and advice! There really is no substitute for talking to people about things they know; Google or no Google. Best of luck to you as well!

Thread Thread
 
cincybc profile image
CincyBC

I've never used Redux, but Vuex wasn't extremely hard to pick up. It changed a lot with the newest version of Vue and can even be in Typescript now. Depending on how much you code, it would probably take you a couple weeks to get a hang of, but months before you're really using it properly 😉

Thread Thread
 
cincybc profile image
CincyBC

I saw this and thought you'd be interested. This is how I feel when I see React.
dev.to/jeremyling/5-things-i-strug...

Thread Thread
 
rydwhelchel profile image
Ryan Whelchel

That post is awesome, thanks for sharing! I just read the first bit but I already agree with it.
I can definitely sympathize with React looking like:
One big mess
Hey some HTML

One of my biggest problems with React so far is that it really does feel like I'm serving up a hot plate of spaghetti code. If there is a different framework that helps keeps code easier to look at, I'm all in. Since I'm delaying my next project a bit, I think I definitely will look into using Vue for it. Thanks again for the perspective! :)