Should I learn React Before Learning Clojurescript Om? [closed] - reactjs

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I'm going to learn Clojurescript for building UIs and I want to use the React wrapper.Should I learn React before diving into Om?

Learn ClojureScript first, don't even think about React.
The learning curve for Om is not straightforward and you'll need to have a fairly grounded understanding of the fundamentals of the language before some of the abstractions that come with Om make sense (atoms, protocols etc). It's designed to be powerful, not simple and accessible.
Honestly, I'd try Re-agent first. The syntax for describing views is nice out-of-the-box and it'll also help solidify your understanding of atoms. If you like it, then you can complement it with Re-frame for a full blown FRP architecture.
I think it's easier to learn Om coming from Re-agent or Re-frame, than it is from React.

No, just dive into Om (or Reagent).
For 99% of UI concerns you won't need to know about the underlying React details, eventually for that 1% of cases you'll need to refer to the React docs.

I wouldn't worry too much about React. You can learn it through Reagent. Dive straight into Reagent by reading existing code. I started with the Flappy Bird demo and a few others.
To understand React you could look for uses of componentDidMount and the other component lifecycle methods. But honestly you only need to understand these methods for special use cases. Each item having to have a unique key is something that will trip you up, but only for legacy code as that requirement has been removed in the latest version of React.
You could also, even right from the beginning, be reading Om Next code and tutorials. You won't understand them fully right away, but keep having to go back to them. I believe that's the case for everyone!
How you approach it will also depend on whether you are a top-down or bottom-up learner. A bottom-up learner might be delighted to find out from one of the tutorials that queries have metadata linking them to components. On the other hand a top-down learner might be relieved to find a complete application to study. Here's my current best effort at a small Om Next application for understanding purposes.

Related

When should you use a front-end framework like Angular or React, and when just use plain HTML/CSS/JS? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I know that for a simple static website, using plain HTML.. is the easiest and quickest way. But, what are some use cases between the two options? Is using a framework mostly the best solution?
You can basically see frameworks as pre-written structures for your App.
In other words, frameworks are meant to help you building applications quicker by addressing common development problems.
So, going back to your question, there are not really times where you would prefer vanilla javascript over frontend frameworks due to the incapacity of scaling well, which could result in inscrutable and unmaintainable spaghetti code.
Other bit you would want to consider about frameworks, is their high performance obtained thanks to their virtual DOM (abstract map of the real DOM), which helps handling events to update parts of the App without the need of re-rendering it.
On the other hand, I would suggest to go with a static website using pure HTML and Vanilla JS, only if learning / instructing someone, or if building something really really simple (but rest assure 99% of your commercial websites may suit better under a framework rather than without).
If you want to read more about it, I would suggest the following articles:
https://stackoverflow.blog/2020/02/03/is-it-time-for-a-front-end-framework/
https://gomakethings.com/why-do-people-choose-frameworks-over-vanilla-js/
https://www.freecodecamp.org/news/do-we-still-need-javascript-frameworks-42576735949b/

Pure Components in React Native using Expo [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I started to work with React Native using Expo and I am trying to figure out what the best practices are. Due to my previous experience, I would like to avoid performance issues before they going to be difficult to handle. I've read some articles about Pure Components which seem to help to improve the performance. My question is whether Pure Components are compatible with the expo or if it even has something to do with Expo? I couldn't find any relevant information about it online.
Pure components has nothing to do with Expo. They are part of the React fundamentals.
It is impossible to teach you through a comment here the react lifecycles and performance optimizations so my best advises to you are:
Read a little bit about the react life cycles and understand when component gets rendered.
Use functional component and hooks as they will make your life much easier and it is the "modern" way to use react.
For performance improvement read a little bit about the RN bridge and learn "useMemo", "React.memo", "useCallback". The best way for me to get deeper understaning after reading documentation was watching YouTube videos. I really recommend the "Web Dev Simplified" channel.

Should I use Firebase with react. Alternative to Firebase as backend [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I am taking this course building a chat app with react and firebase as backend. The problem is when I got to connecting react, redux, and firebase the whole process became so complex that got me wondering what's the point of Libraries, Frameworks, and SDK if not to make the development process easier or faster at least. Please is there other alternatives to using Firebase as backend with react. (Without so many add-ons, helper-functions, and enhancers that I need to connect)
There are quite a few alternatives: PubNub etc.. but all of them will require some setup and config to make it work with react. firebase by itself is not complicated, but make it work with react piles up the complexity a bit.
Just try it a bit more and once you are done with config and setup it way more fun. Here is a simple example to try: https://www.codementor.io/#yurio/all-you-need-is-react-firebase-4v7g9p4kf
The title doesn't explain your problem. I think its not firebase thats getting in the way, but in-fact redux/ react-redux-firebase.
If you're just learning react, you should not be trying redux. Redux has a steep learning curve, and will get in the way of you understanding the real part of react. Kent C. Dodds has said:
guess what, you probably don't need a library like Redux anymore
This might be speculation, but redux might not be as popular in the future, so you might not even have to learn it in the future. You can just use Context. People often abuse redux.

Should I learn more javascript to learn Angularjs? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I've been programming on and off for about 2 years now with python and C++, and a little bit of other languages like html, css, etc. I'm familiar with object oriented design and basic syntax of many languages. One that I've recently gotten into is javascript. About two months ago I heard about Angularjs and its capabilities. However, I've never done javascript at the time so I thought I'd give myself a few weeks to get familiar with javascript before I tackle Angularjs. A few weeks turned into 2 months and getting familiar is harder than I thought. However, I didn't want to stick to learning javascript forever, I wanted to move on the real goal and that is to learn Angularjs. So I started doing tutorials on Angularjs about a week ago. Now I'm stumped. It is very confusing to me. All the directives, MVC, controllers and such are so difficult for me to grasp. Experienced developers don't seem to have trouble picking up the framework, but I am so lost. I'm forcing myself to grind on it every single day until it makes sense but I'm rapidly loosing motivation because I don't understand most of it. Is this due to the fact that I still don't know enough javascript to grasp it? Will I have to learn more javascript to learn it? Frankly, I enjoyed javascript that's why I was able to keep doing it for 2 months. But my future for Angularjs is not looking very good and it has only been a week.
It would definitely help to understand vanilla JavaScript more as well as having a better idea of what is going on "behind the scenes" in a web app. If your knowledge is fuzzy and you don't understand vocabulary / concepts being used, you cannot assimilate new information about those concepts. Take your time, no need to rush. Read a book or some articles about MVC - get a good idea of what is happening all the way around. And don't limit yourself to Angular (great as it may be). Some light beginner reading
I would pick up some books on MVC. The more "big picture" understanding you have the easier it will be to implement in AngularJS. Check out Amazon for well reviewed books.

how long it takes you to learn backbone.js [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I just decide to learn backbone.js. I am a between junior and intermediate level front-end developer. my current job is dealing with html, css and jQuery. My boss asked me to learn this backbone.js and want to know how long it gonna take me to learn. so can anyone who experienced before tell me how long it gonna take?
thank you
If you don't know javascript, it will take awhile. I know this because I didn't really understand javascript when I got started with it. By know javascript, I mean being able to understand and fully explain:
Variable Scope
Object.prototype
.call, .apply, and .bind
Closures/Lexical Scope
Anonymous functions
Function Hoisting
If you don't know all that, get and read Crockford's Javascript: the Good Parts
If you do know all that, then you need to understand how to use Backbone properly otherwise it won't make any sense. When using Backbone, you really shouldn't have any non-backbone javascript outside of a sparse initialization of your base Views...also learning how to use the built in event binding is essential. This is a pretty good guide, as (obviously) are all the sources here
So I would say it could take a few days to a week or longer to fully comprehend whats going on, and much longer to get to the point of being very skilled with it.
I only just started with backbone as well and i must say it's pretty straight forward.
So assuming that you already have a thorough understanding of JavaScript it self, i think you can get started with it within 2-3 days ( with the right amount of dedication that is ).
If you are not yet very familiar with JavaScript, you have to make sure you get that down first.
Code school has an excellent high quality interactive tutorial that will give you a rocket start.
http://www.codeschool.com/
But there are plenty of free resources available as well, so don't let that stop you !
http://backbonetutorials.com/
The documentation on github is very complete, but it's probably not the best place to get started.
http://documentcloud.github.com/backbone/
If you are looking in to backbone you might also want to look into AMD with requireJS, that is a little more complex but definitely worth looking into at as well !
http://requirejs.org/

Resources