Avatar of Eva Maciejko

Eva Maciejko

Fullstack developer
Fullstack developer ·
Needs advice
on
ExpressJSExpressJSLaravelLaravel
and
Spring BootSpring Boot

Hello, I am a fullstack web developer. I have been working for a company with Java/ Spring Boot and client-side JavaScript(mainly jQuery, some AngularJS) for the past 4 years. As I wish to now work as a freelancer, I am faced with a dilemma: which stack to choose given my current knowledge and the state of the market?

I've heard PHP is very popular in the freelance world. I don't know PHP. However, I'm sure it wouldn't be difficult to learn since it has many similarities with Java (OOP). It seems to me that Laravel has similarities with Spring Boot (it's MVC and OOP). Also, people say Laravel works well with Vue.js, which is my favorite JS framework.

On the other hand, I already know the Javascript language, and I like Vue.js, so I figure I could go the fullstack Javascript route with ExpressJS. However, I am not sure if these techs are ripe for freelancing (with regards to RAD, stability, reliability, security, costs, etc.) Is it true that Express is almost always used with MongoDB? Because my experience is mostly with SQL databases.

The projects I would like to work on are custom web applications/websites for small businesses. I have developed custom ERPs before and found that Java was a good fit, except for it taking a long time to develop. I cannot make a choice, and I am constantly switching between trying PHP and Node.js/Express. Any real-world advice would be welcome! I would love to find a stack that I enjoy while doing meaningful freelance coding.

READ MORE
9 upvotes·782.2K views
Replies (10)
Recommends
on
Spring Boot

Hi Eva, As you have solid experience with Spring already, you should jump into freelancing with that. It would be quite stressful to start freelancing with a tech stack you don't know well. Then in the background you can keep learning/practicing an alternative and switch over when you are confident enough (eg. 0.5-1 year later). I think you should learn Laravel as you already like it and find it easier. Express has better performance but that is not required for most of the small freelancer projects.

READ MORE
17 upvotes·1 comment·721.7K views
Eva Maciejko
Eva Maciejko
·
July 31st 2020 at 6:50PM

Thank you for your honest advice !

·
Reply
Recommends
on
ExpressJS

Looking at current technological trends and rise of JavaScript, you cannot go wrong with JavaScript. - There's an abundance of libraries to get most things done - You can use JavaScript for both the frontend and the backend - this allows you potentially share your logic/models/code across both stacks - A dynamic/interpreted language such as JavaScript is great for serverless (there's somewhat of a trend towards serverless aswell - especially in modern projects) - If you like/need static typing, you can always migrate seemlessly to Typescript - VueJS is a lightweight framework (compared to Angular), it has more GitHub stars and most would argue it's easier to work with (beginner friendly). Additionally most modern webapps do not use JQuery anymore (even though a lot of legacy projects continue to do so). You don't need JQuery if you use Vue/Angular/React

Additionally it doesn't seem like performance is a hugely important metric in your scenario, so JavaScript would suffice.

Note: These are all my opinions and what I've seen in the current market when recently searching for jobs.

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

Thank you, very relevant advice. As someone who’s used to typed and compiled languages, I think I will enjoy Typescript. Already tried it in VS Code editor and it’s great!

·
Reply
View all (10)
Fullstack developer ·
Recommends
on
ThymeleafThymeleaf

Thymeleaf is the way to go. Compared to JSP it is more elegant and less cumbersome. Plus you can render your Thymeleaf templates statically in the browser and it will look good even without a web server. With Spring Boot, Thymeleaf is the recommended way and works out of the box without any additional configuration.

READ MORE
6 upvotes·1 comment·3.6K views
Ivo Raisr
Ivo Raisr
·
March 1st 2024 at 8:07AM

It depends on the requirements for the web pages. For server-side rendered web pages, Thymeleaf is the recommended approach. For web pages requiring dynamic page updates without full page reloads, client-side framework (such as React, Angular or Vue) is the better choice.

·
Reply
Fullstack developer ·
Recommends
on
Nuxt.jsNuxt.js

Hello Daniel, As someone who already knows Vue.js you will find Nuxt is powerful and gives you many options as you can use it to make a static site, SPA or SSR (universal) application. It is also very easy to get started with. It is a framework gaining lots of traction lately (over 1M downloads last month) so you can have confidence that it is worth trying. I developed my simple portfolio site with Nuxt and I had a lot of fun. In essence, I find it perfect for simple projects.

READ MORE
3 upvotes·278 views
Fullstack developer ·
Needs advice
on
FastAPIFastAPI
and
Spring BootSpring Boot

I am a freelancer, I need to develop a full stack app for a client. The frontend will be an SPA. The backend will be an API that makes calls to generative AI so I would like to use LangChain (or LangChain4J). I have more experience with Java/Spring Boot, but Python seems the best fit since its using AI and allows for simpler/more rapid development. I will be the lead developer on this project, aided only by a junior dev. My question is : how robust and production-ready is FastAPI ? I'm not interested in performance, I want the software to work well, be robust in production and scalable.

READ MORE
3 upvotes·31 views
Fullstack developer ·

Since you're a frontend dev, you have experience working with async processes. ASP.NET Core is reactive (async) by default, giving you a higher throughput out of the box. You can do the same with Spring Boot Reactive, but it's less common. Typescript knowledge will get you comfortable with any OOP language, so both C# and Java should be fairly easy to work with. Then you should research what you would like to do with backend skills : do you want to work at huge corporate (Java) vs government (C#) vs startups (C# or Node.js) ? Do you want to work as an employee or a freelancer ? Check out what are the job opportunities in your area. Then you can choose what's best for your future goals.

READ MORE
2 upvotes·117 views