How to choose the right framework for your project

| 3 min read

Introduction

Hello dear reader, I’m back again with a new article after a long break. Today’s topic is about how to choose the right framework for your project. I hesitated to write about this topic because I thought it didn’t need its own article, but I finally decided to share it in case it helps beginners. Let’s begin…


When Should You Choose a Framework?

You should choose a framework in the early stages of planning your project, not after you’ve already started. There are several factors you need to consider :

  • Project size and complexity: Small projects may not need a large framework like Laravel, while complex applications benefit from a strong infrastructure.
  • Team experience: Choose a framework your team knows well or can learn easily. Productivity is more important than theoretical advantages.
  • Performance requirements: Some frameworks are faster than others, like Svelte compared to React in some cases.
  • Ecosystem and libraries: Make sure the libraries and tools you need are available, like AWS SDK or nostr-tools (a separate article about nostr is coming soon).
  • Maintenance and support: Is the framework actively supported? Does it have good documentation and an active community?

Additional Technical Criteria

  • Scalability: Does the framework support future project growth?
  • Security: What built-in protection does it offer against common vulnerabilities?
  • Integration: How easy is it to integrate with external services like databases and cloud storage?

Trade-offs for Infrastructure

Every framework comes with certain trade-offs. The idea isn’t to find the “perfect” framework, but to choose one whose trade-offs have the least impact on your project. Here are some examples :

Complexity vs Flexibility

Large frameworks like Laravel provide everything ready-made (ORM, Authentication, Queue System), but this comes at a cost :

  • Larger base project size.
  • Longer learning curve for beginners.
  • Some restrictions on how you write and organize code.

While smaller frameworks like Svelte or Express.js give you more freedom, but :

  • You need to build many things yourself.
  • You may face problems standardizing code between team members.
  • Difficulty managing large projects without a clear structure.

Performance vs Development Ease

The React library provides a huge ecosystem with endless libraries, but :

  • Larger bundle size.
  • Lower performance in some scenarios compared to Svelte.

While the Svelte framework offers excellent performance, but comes with some trade-offs :

  • Fewer libraries.
  • Smaller community.
  • Fewer job opportunities.

Examples

Example 1: Social Media Platform Built on Nostr Protocol

When building a platform similar to x.com using the Nostr protocol, the choices were :

  • Backend: SvelteKit full-stack framework - because it provides built-in SSR and API routes, easy integration with nostr relays, and simple integration with AWS S3.
  • Frontend: Svelte frontend framework + TypeScript - because performance matters in real-time applications, and TypeScript provides type safety with nostr-tools.
  • Trade-offs: Svelte has fewer libraries than React, but performance and bundle size are more important for a social app that needs speed.

Example 2: Job Marketplace Platform

For a job marketplace project :

  • Choice: Laravel framework + (Blade/Livewire or Inertia.js + Svelte).
  • Reasons: Complex relationships between users, jobs, and companies need a strong ORM, built-in permissions system, easy file and image handling.
  • Trade-offs: Lower performance than Node.js in high-traffic scenarios, but for projects with medium traffic and complex operations, the productivity and strong structure make it more than suitable.

Conclusion

And we’ve reached the end of this article. I hope it was helpful for you, dear reader. Don’t hesitate to share it so it can help others who struggle with choosing the right framework for their project. I want to mention that I’m coming back with many articles in the coming weeks, and I also have two new articles ready besides this one, so stay tuned dear reader. Until then, stay safe and well. See you later!