My top 10 favorite open source development tools
Open source dev tools play a huge role in my daily workflow as a developer. I thought sharing my appreciation for the tools was a nice gesture to the creators/maintainers, and hopefully help other devs find new, awesome open source tools to improve their workflows.
Why VS Code is in my top 10
Personally, it's been my go-to editor for over three years. I moved from Sublime to Atom to VS Code, and I'd never looked back. Feature-wise, UX-wise, and extensions-wise, it's the best. In addition, the team behind VS Code releases new features and functionality through monthly updates. It's been exciting to watch the editor grow from strength to strength, and I'd like to thank the team and community behind the product for their effort. These are the reasons why VS Code is the best editor and worth a try if you've never developed with it before.
Also: vscodium.com offers Free/Libre Open Source Software Binaries of VSCode
Budibase is an open source low-code platform, bringing together everything required to build internal tools and custom business apps, such as; dashboards, admin panels, approval apps, customer portals, and everything in between. Within minutes, transform data and processes into powerful internal tools.
Why Budibase is in my top 10
Budibase is the leading open source low code platform. Low code platforms are trending at the moment and for sound reasoning. Low code platforms, such as Budibase, allow IT professionals and developers to deliver internal tools and CRUD apps in a fraction of the time. They also remove a lot of the repetition and grunt work experienced when developing such apps, leading to a more satisfying dev process in many cases. I am able to deliver a lot more in less time with Budibase, which is always great.
In my opinion, Budibase is better than other low code platforms for several reasons:
- users can self-host their apps on their own infrastructure
- users can create internal and external tools
- Budibase has an automation layer, allowing users to automate tasks such as email notifications, triggering webhooks, sending a report
- Budibase exports real single-page applications providing end-users with a better, more performant experience.
- It allows you to use MySQL, PostgreSQL, Mongo, Airtable, etc, as your DB, to build custom business tools in minutes
- It comes with its own DB, unlike other internal tool builders
PostHog is a product analytics platform built for the enterprise, with the differentiators of being open source and having a broader view of the tools needed to make a product successful.
Why Posthog is in my top 10
PostHog can be deployed on your infrastructure and provides a large set of tools to help improve your product, such as session recording, heatmaps, and feature flags, that are unique to PostHog in the product analytics space. Posthog is a young product, like Budibase, but its community and team are responsive and helpful.
Snyk is a developer-first platform for building cloud-native applications securely. In addition, it helps and encourages developers to remediate open source vulnerabilities during the development process.
Why Snyk is in my top 10
Software composition analysis is a pain. Not many developers like doing it. Or at least, in my experience, I didn't like doing it until Snyk came along.
Snyk offers direct integration into your software development life cycle, supporting all the major IDEs, auto-remediation of security vulnerabilities, and visualization of dependencies. Snyk also provides custom patching.
Prisma is an open source next-generation ORM. It consists of the following parts:
- Prisma Client: Auto-generated and type-safe query builder for Node.js & TypeScript
- Prisma Migrate: Migration system
- Prisma Studio: GUI to view and edit data in your database
You can use the Prisma Client in any Node.js or TypeScript backend application.
In other words, it's an ORM that turns your database into a REST/GraphQL API, which is fantastic!
Why Prisma is in my 10
I love how Prisma provides a type-safe API that users can use across the frontend and backend. It also takes an SDL-first approach which is easier to understand and great for building things quickly.
Storybook is a tool for UI development. It makes development faster and easier by isolating components, allowing developers to work on one component at a time. As a result, you can develop entire UIs without needing to start up a complex dev stack, force specific data into your database, or navigate around your application.
Why Storybook is in my top 10
Storybook integrates with all popular frontend frameworks, including React, Vue, and Svelte. It's also got a great library of add-ons, and the community is extensive and helpful. But, most importantly, the tool is excellent and allows me to present components in an isolated environment. With Storybook, I've found developers are also more aware of the components at their disposal, leading to less duplication and repetition.
Vercel is a deployment and collaboration platform for frontend developers. Vercel puts the frontend developer first, giving them comprehensive tools to build high-performance websites and applications.
Vercel enables developers to host websites and web services that deploy instantly and scale automatically – all without any configuration.
Why Vercel is in my top 10
Vercel is a joy to use. They truly accel at developer experience, performance, and UI design. Their community is one of the largest and fastest-growing on Github, and their forums are active and welcoming. They're also the creators of Next.js, which, in my opinion, is the second-best static site generator after Hugo.
Oh My Zsh
Oh My Zsh is an open source, community-driven framework for managing your Zsh configuration. It's great if you use the command line often.
Why Oh My Zsh is in my top 10
It, in my opinion, makes the command line more exciting. It also comes bundled with over 275 plugins that's make your life as a software developer easier. It also comes with themes contributed by the community.
GitLab is a single application that spans the entire software development lifecycle. If you're not using GitLab, your DevOps lifecycle is likely spread across any number of applications. These silos take overhead to integrate, manage, configure, and maintain, slowing down your team and your deployments. Moving to a single application will speed up your workflow and help you deliver better software faster.
Why Gitlab is in my top 10
I prefer Github for version control. But, as the post suggests, this list comprises of open source development tools only. Gitlab is a close second and one I have used for 5+ years. Gitlab has additional features that Github does not, including; Code analytics, Service Desk, Design Management, Secrets management, and time tracking. In addition, it focuses more on the entire DevOps lifecycle, which is helpful if you prefer to only interact with one platform for a vast number of functions.
Gitlab is particularly strong when it comes to package management. GitLab enables teams to package their dependencies, manage containers, and build artifacts with relative simplicity. The private, container and package registry are built-in and preconfigured out-of-the-box to work seamlessly with GitLab source code management and CI/CD pipelines. Once again, Gitlab shines when you use all its tooling together - but this makes it hard to switch workflow due to lock-in. Gitlab is a behemoth in the open-source developer world, and if you have not tried it, I recommend you give it a go.
Supabase is an open source Firebase alternative. Rather than one platform, Supabase is a 'suite of open source tools, stitched together to build a seamless developer experience.'
Why Supabase is in my top 10
Supabase is packed full of features, including authentification, storage, and soon-to-be-released functions. Another reason I prefer Supabase is that its closed source competitor Firebase charges for API calls, leading to a few uneasy bills at the end of the month.
Open source development tools come in many shapes and sizes, and it’s often a complex process when selecting the right tool for a new project. I hope my list helps you on your development journey.