When deciding on a Technical Stack, based on open source tools, one must always keep track of the popularity of the stack components and their future. As an organization supporting experiential learning for students, Spark! also has a unique constraint on our technical stack. We want to be sure that students are utilizing tools and processes in common practice in industry “right now” and when they graduate. As the Technical Director for Spark!, I feel it is my responsibility (with lots of input from others) to ensure our recommendation continues to meet those needs.
One way I validate our choices it to review Stack Overflow’s excellent Developer Survey. I finally got a chance to read the 2022 release and here are my takeaways. For reference, here is the BU Spark! Tech Stack.
First off, regarding web frameworks, it appears we are in the right spot recommending the open source tools React.js and Typescript. “React.js completes its fifth year as most wanted.”1 and “TypeScript running a close second.”2.
On the mobile front, it appears Flutter is still going pretty strong, beating out React Native in All Respondents and a close second with Professional Developers.3
Regarding our backend API servers, we should probably be moving FastAPI to our first choice (over Flask) but both seem to be doing pretty well. Our Node.js alternative is also pretty close to the top.4. Firebase is an oddball as an API server but it seems to still be pretty popular, particularly amongst those Learning to Code.5
We also generally recommend Firebase or PostgreSQL for storage needs. PostgreSQL just unseated Redis as Most Loved and is top of the list for Want validating that choice.6 Also exciting that PostgreSQL took over, amongst Professional Developers, from the semi-proprietary MySQL.7
While not in our “Tech Stack” per se, we encourage all of our student teams to containerize their applications using Docker & Podman. For those projects that require orchestration, we usually recommend Docker/Podman Compose but for a few we leverage Kubernetes. We are working with the Massachusetts Open Cloud team to be able to provide OpenShift to students to encourage Kubernetes use without all the YAML. Docker (sadly not podman) & Kubernetes seem to be growing in popularity and usage. “Docker is becoming a similar fundamental tool for Professional Developers, increasing from 55% to 69%.”8 “Docker and Kubernetes are in first and second place as the most loved and wanted tools.”9
As a side note, I am also extremely happy to see Rust doing so well after I suggested that we start teaching it in DS-210 (Programming for Data Science).
Rust is on its seventh year as the most loved language with 87% of developers saying they want to continue using it. Rust also ties with Python as the most wanted technology with TypeScript running a close second.https://survey.stackoverflow.co/2022/#section-most-loved-dreaded-and-wanted-programming-scripting-and-markup-languages
All in all, I think we are still recommending the right stack to provide good tools and prepare students for the “real world” (in industry vs academia). I also, being a long time veteran of the software world, continue to be impressed that Spark! can offer such a solid technical stack based entirely on Open Soure Tools