2019 definitely seemed to be a pivotal year for the JAMstack. New companies cropped up (yep, us included), JAMstack_conf_sf was the biggest event yet and lots of new tools seemed to gain momentum daily. In this series of posts, we're asking some well-known members of the JAMstack community what they thought about this past year and what they think you can expect for the year to come. This edition features Ahmad Awais, developer advocate for Cloudinary and Google Developer Expert.
Check out the other interviews in this series:
Hi there, I’m Awais — a Principal Developer Advocate at Cloudinary. I help some of the world’s largest and most respected open-source organizations deliver the best developer & community experience. I edutain at VSCode.pro and am an author of various open-source dev-tools and software libraries used by millions of developers worldwide. I am an invited Google Developers Expert, a Node.js Community Committee member, an award-winning developer, and an international speaker. We can connect via Twitter @MrAhmadAwais where I share #OneDevMinute series of dev tips & tricks.
I love the JAMstack community and software tooling built around the idea of building modern frontend with all the power that comes with it. I have built sites with different JAMstacks, helped companies migrate their frontend and endeavored to speak at every opportunity I get about using the cutting edge tech to build modern frontends for sites.
Case in point:
- VSCode.pro — My custom-built LMS for the VSCode course that I built using Gatsby.js and hosted with Netlify. This new frontend has outperformed previous sites that had a rather dynamic frontend.
- CloudyCAM.dev — JAMstack site built with Next.js, ZEIT Now (using React.js, Vue.js, and Node.js). CloudyCAM is sort of an IoT setup where we take your picture and a demo page gets generated for you in less than 15 secs, by the time you come to ask about your photos. It showcases how Cloudinary can become your serverless media component that integrates well with JAMstack frameworks. I actually gave a talk about it in more detail at the BackendlessConf_.
- Talks/Presentations: I love markdown and write everything from my emails to my talks and presentations with markdown. Hugo comes in handy here which helps me build my presentations in a super quick manner — like helping me live code in talk while recompiling the slides in a jiffy.
When I contributed a codelab to Google's Web.dev site, I found out about 11ty which I'm also excited about. I think it can be a very good contender for a conference site we are building.
In 2019, JAMstack saw a lot of traction. I saw companies, VC's, developers get more and more excited about the idea behind JAMstack. I think the best part of it all is the promise of making things simpler yet powerful. A CMS like WordPress would not give you as much control over the frontend as much as you can get with a JAMstack site. A CMS plugin would add 3rd party scripts with no regard to your resource loading order and will mess up the performance — ultimately leading to a bad user and developer experience.
So, that's the good part. Easy to say that I'm a fan of this whole new industry.
The worse parts are not that apparent yet since the JAMstack ecosystem is relatively new but I definitely see a divide happening — developers trying to reinvent the wheel with what we have in the CMS's today and unintentionally causing things to become complicated and alienating to the newcomers in the community. I believe we should only take the good parts of our good old CMS's stacks and not trying to build everything the way they did it. Like for example, the "decisions not options" mantra of WordPress would fit right in here.
What changes in 2020 do you see forthcoming that will have an impact on the adoption of or day-to-day development using the JAMstack?
I know for a fact that a number of services are being built by some excellent developers in the JAMstack community that are going to be launched in 2020. Services that mostly solve a complex dynamic part of having a simple website that for example needs to accept data from forms, a no-code API, a zero-config integration, and companies positioning their products to be well integrated with JAMstack.