The MEAN Stack Newsletter Issue 5: The Deno Super Issue Special!
I know I had taken a little time off... but that is so I can bring you The Deno Super Issue Special this week! We talk all about Deno, so buckle up - you're in for a super speedy adventure!
Thank you to all supporters, readers, and everyone who inspires me. You have no idea how much your support means to me - it literally keeps me going every time I see that someone reads this.
New Favorite Stack? The DROP Stack
I have been obsessed with Deno lately as I finally took the first step a couple weeks ago and decided to finally get down and dirty with the new runtime developed by Ryan Dahl, the creator of Node. Deno still isn’t quite as established as Node, but there has been a lot accomplished since Dahl first introduced it in 2018. I’ve spent countless hours trying out the third party modules, which has been a blast given the speed in which Deno runs.
At first I had heard issues with web devs in regards to Deno because there was a so called, “Lack of established frameworks to use, making Deno hard to use.” I get what they’re saying to an extent, but you should also be able to hack your own stack if you can’t find a good framework. With that being said, I decided to introduce my own stack to y’all - it’s called the DROP stack. The DROP stack features Deno, React, Oak (Server Middleware, a lot like Koa), and PostgreSQL.
Here are a few tutorials you can follow to implement the DROP stack:
There’s more where that came from - Deno for days!
Lume - A static site generator with flexibility that reminds me somewhat of 11ty.
I really wanted to be the very first one to make a static site generator with Deno, but somebody beat me to the chase. Oh well! Lume sets a great standard for how to create a SSG or a framework. It reminds me a lot of Eleventy with its flexibility in regards to the templating languages - it basically supports any templating language you can think of. Lume’s base-blog template even copies the same exact layout as Eleventy’s base blog template!
According to the documentation, Lume is a Galician word for fire. I’m not sure what that has to do with static site generators, but it is a pretty fire SSG if I say so myself. A few other features I liked from Lume:
Store your data in your favorite structure: YML, JSON, JavaScript or Typescript.
Process HTML data and assets and transform them with the DOM API.
Run scripts and listen to events.
Zero runtime over head and easily extendable with many different plug ins!
Velociraptor - Script runner for Deno, inspired by NPM’s package.json files.
As you can tell i’ll be sticking with the Deno theme for this newsletter! Besides having a totally awesome name, Velociraptor is just another example of how cool Deno tools and libraries are - and if you use the CLI to get around quickly, you’ll probably need to store aliases and this tool is perfect for that. It has out of the box CLI support that makes writing and storing aliases easy. Sharing workflows and Git hooks are another feature that make this script runner magic. You can use vr scripts in your Github workflows so there isn’t any new tooling that you have to learn for source control.
Fresh - Back to your regularly scheduled programming with Deno’s new and popular next generation web framework.
I am so excited to tell you about Fresh if you haven’t heard about it yet! If you haven’t, head over to their documentation website to learn more and to check out their showcase of websites built with Fresh. One thing I love about Fresh that may seem stupid is their colors on their website - I just love how they present the framework with the bright green and yellow colors. It makes me feel alive!
Ok… back to Fresh. It is super fast, like really fast. I don’t want to spoil too much of it before you try it out, so here are some of the killer features that Fresh offers:
Just in time rendering - on the edge.
Island based hydration (like Astro) for max interactivity.
Zero runtime by default b/c no JavaScript is shipped to the browser.
No build step, no configuration!
Typescript support out of the box.
I am working on my new personal portfolio website and it uses fresh. By the time you read this, it should be published!
D3no Data - Create awesome charts for your next project.
D3no Data is the Deno version of chart.js, one of my favorite JavaScript libraries. You can visualize your data without compromising the power of Deno or the beauty of visualizing your data with chart.js. There are five charts that you can currently make: bar, choropleth, line, pie & donut, and scatterplot charts (pictured below). This project is still in development, so I’m certain there will be a much larger library coming in the future.
Ultra.js - “A Hypermodern, zero-legacy Deno/React Framework”
Yes, the final Deno project I bring to you today is another framework - but this one I saved for last because it is one that I am excited to try out. I’ve tried it once but didn’t get enough time with it so I am not going to be able to tell you all about how my experience was. But here are the features that have me excited to build my next website with it:
React Streaming Server Side Rendering with Suspense support
Native import maps
Import maps with vendored dependencies in production
Ships pure, unbundled ESM
Simple tool chain
Apps look the same in your browser as they do on your server
Service workers cache your ESM source code
Bonus: Deno Deploy
I had to save one last surprise for y’all because I love Deno so much. Deno Deploy is actually my favorite thing about Deno so far. It is the best edge network on the market right now as Netlify’s Edge Functions, Supabase’s Edge Functions, and Slack’s new Next-Gen platform are all built on Deno Deploy. The magic in Deno Deploy is that there is zero-config and zero maintenance!
You can simply import your GitHub repository, deploy and watch it go! There is even a playground for you to create a small module and deploy quickly if you are able to bundle your deployment into a single file - as is the standard practice for many Deno modules. There is a pro plan for $10 (highly recommended) or a free plan for your trails and basic needs.
Try out Deno Deploy today and embrace the new era of web development! I hope you enjoy all of these new gold nuggets I shared - let me know how your experience with Deno is going by emailing andrew.weisbeck@gmail.com or commenting!