Avatar of Benoît Hubert

Benoît Hubert

JavaScript Instructor at Wild Code School
JavaScript Instructor at Wild Code School·
Recommends
on
Spring BootSpring Boot

I think Patrik and Alex are right: if you're comfortable with Spring Boot already, you'll be more productive right from the start.

If you wish to learn something else besides, both Laravel and Express are good choices. They aren't in the same category of frameworks: Laravel is an all-in-one solution, while Express is more like "build your own stack from different parts". Which implies that you can use whatever you want as a database engine: MySQL or PostgreSQL are perfectly valid choices (in my school, we teach Express with MySQL, because SQL is still a big thing here in France, and a sought-after skill). You can use Sequelize or TypeORM which support all major SQL DBMS.

Express is widely used, but if you're seeking the JavaScript equivalent of Spring Boot or Laravel, you probably want to look at NestJS. The only potential downside is that it's still young, maintained by a small commmunity, compared to those behind Spring Boot and Laravel.

Bottom line: using a stack tech, that you enjoy and are comfortable with, matters. Spring Boot + Vue.js seem perfectly fine to me. But do forget jQuery if you're using Vue.js, React or Angular, because it will definitely bring more harm than good!

READ MORE
6 upvotes·1 comment·704.1K views
Eva Maciejko
Eva Maciejko
·
August 10th 2020 at 12:36AM

Thank you for sharing about the Javascript ecosystem. I have tried some JS solutions like Nuxt and Strapi headless CMS that I found could be interesting for small website development (Jamstack as an alternative to wordpress). Those are developed by French teams I believe ! I will look into NestJs. I think that’s what I’m looking for, some good and reliable tools in Javascript.

·
Reply
JavaScript Instructor at Wild Code School·
Recommends
on
DjangoDjango

As a JS dev, you'd think I'd recommend a JS backend framework... Well, I won't. I'd say the choice of framework depends on your goal. For learning purposes, a lightweight, unopinionated framework such as Express can have advantages: you can plug a low-level database driver (for MySQL, PostgreSQL, MongoDB, etc.) and send raw queries to your database server; or you can choose a higher-level approach and use an ORM (Sequelize, TypeORM...). Express has a counterpart in the Python world: Flask.

Now for a full-featured, rock-solid, production-ready backend, Django is a safe choice. Its counterparts in the Node.js world (like Sails.js, NestJS) are less mature. Probably because the JS community is much more fragmented, and we don't have any single full-featured framework that has has been as widely adopted as Django, Ruby-on-Rails, etc. and as is as well documented.

As for the frontend part, I'm a React dev and can recommend React (web) and React Native (mobile), though Vue is also a solid framework. Its learning curve is apparently less steep than React's for frontend beginners. Also there's Vue Native for mobile development (which is based on React Native).

READ MORE
3 upvotes·1 comment·217 views
Abdul Hai
Abdul Hai
·
July 15th 2020 at 10:43PM

thank you mate... this does sound sensible to me...

·
Reply
JavaScript Instructor at Wild Code School·

Hello! I strongly recommend reactstrap or react-bootstrap over "vanilla" Bootstrap. Bootstrap relies on jQuery (that is, until v4.x) for all interactive elements, e.g. collapsibles, carousels, etc.

Reactstrap handles this "the React way", which is a big plus if you don't want to reinvent the wheel. I have yet to see major drawbacks. However you have to carefully read the docs, especially which props are accepted by Reactstrap components.

For example you might want to have internal navigation links handled by React Router's Link or NavLink component. In the latter case you have to do:

import { NavLink as RouterNavLink } from 'react-router-dom'

so that the name doesn't collide with Reactstrap's own NavLink.

Then you can use something like:

<NavLink tag={RouterNavLink} to="/about">About</NavLink>

I also mentioned react-bootstrap which had Bootstrap 4.x support added way after Reactstrap, but seems to be a good option too.

READ MORE
2 upvotes·210 views