9 comments

  • aosaigh 4 days ago

    Who is the Jamstack for in your opinion? I'm a web developer that makes a lot of apps and marketing sites for small to medium businesses and I find it very hard to justify the added complexity of a Jamstack architecture - there's just too many moving parts.

    It seems to me you need a few things:

    - A dedicated development team to manage the stack

    - Enough traffic to justify the complexity

    - Regular content publishing to make use of the build pipeline

    - A need for speed beyond what's regularly acceptable

    Great work anyway on the book, it's good to see people charging for curated knowledge.

    • nicoburns 4 days ago

      Added complexity? At its simplest, Jamstack is just a static site generator. A service like Netlify will do the entire build pipeline for you (for free) just by pointing it at the git repo. Or if you want to DIY the hosting, then all you have to do is find somewhere that can host static files.

      Jamstack is largely about removing complexity.

      • aosaigh 4 days ago

        At its simplest yes. But if you are proposing this as a solution to a client, they will likely want to edit content. That will have to happen on a headless CMS instance. That's whole new stack to maintain alongside. You then need to set that up and configure the SPA to talk to it (GraphQL/Apollo?). When I come back to client project in a month, is all this still going to be working ...?

        Maybe, but it's certainly not less complex then a traditional Wordpress site. So I'm wondering what are the criteria for using Jamstack successfully?

        As you said it could be that it's good for simple static sites but not great for more complex content-drive sites - I don't know, that's what I'm asking.

        • Pandabob 4 days ago

          Obviously it depends a lot on which CMS you're using and I can imagine there being a lot of complexity involved.

          That said, setting up something like Contentful and integrating it with NextJS is roughly a day or two of work if you're doing it for the first time. And it all works over REST so you don't have to worry about GraphQL.

          You can even do "previews" now with Next thanks to preview mode: https://next-preview.now.sh/

          • mherchel 4 days ago

            Contentful just abstracts away the complexity (for money). It's still complex, but you're paying instead of dealing with the complexity.

            • colbyfayock 4 days ago

              i think thats a fair point but there's a lot of benefit from from that. they're able to focus on making a great CMS

              there are also some open source solutions that are great. Netlify CMS works really well for a very basic page / blog management solution

              a lot of the headless CMS solutions also offer generous free tiers, making it perfect for web devs to spin up a free instance for their personal sites and projects

          • nicoburns 4 days ago

            I think it's good for simple cases where a technically minded person will be editing the content. And I think it's good for complex cases where performance is important and the organisation is large enough to support at least one employee to manage the system. I think it's (not currently) good for the in between cases.

            • marc_io 4 days ago

              Stackbit and Publii are two examples of tools that remove a lot of technical barriers for the simple cases you are talking about.

          • manigandham 4 days ago

            Other than the simplest of static/marketing sites, jamstack is just taking standard server-side rendered frameworks and splitting it up into several layers: CMS and other content sources, external APIs, build process, backend "serverless" functions, etc.

            This is more moving pieces and complexity. Yes it's easier to build the frontend using modern component models but I find the tradeoff is rarely worth it.

            • dubcanada 4 days ago

              Jamstack is not less complex, it's just complex in different areas.

            • taphangum 4 days ago

              I think you might be underestimating just how important speed is becoming.

              Not only is it now a very important ranking factor for SEO reasons. There's also going to be a point for most websites where the complexity (I'd argue that the standard WordPress install is a lot more complex than most JamStack setups, if you're going to be digging into the code) will eventually need to be offloaded to a build process that spits out a static site, just to meet the 'acceptable' threshold.

              • pier25 4 days ago

                Speed is important, but with services like FaunaDB and Fly.io you can have low latency distributed monoliths, so to speak.

              • colbyfayock 4 days ago

                i think there's varying levels of complexity to the different solutions available jamstack or not

                Jamstack, the complexity might be maintaining different services, such as a headless cms and the front end. the output though is static files that you can dump into static hosting pretty easily

                on the other hand, you might have a serverful solution thats all in one stack. you run into other complexities with that like having to worry moreso about scaling and managing that server for traffic

                there are tradeoffs between the 2. jamstack isn't a perfect solution but it has a lot of benefits. it's also relatively young in it's architectural lifecycle, so i would imagine a lot of these pain points to be worked out as it matures

                the book tries to get into both the good and the challenging

                • ssijak 4 days ago

                  I am a solo developer. I have built 6-7 projects which fall under Jamstack. I find it that it lessens the complexity, and as a bonus I can sleep much more easily at night knowing that my sites are hosted as static websites.

                • bauerd 4 days ago

                  The invention of the "JAM stack" is one of the greatest marketing stunts I know of. Kudos to Netlify for rebranding HTML+AJAX

                  • johnbrodie 4 days ago

                    I have yet to encounter a link/email about "JAM Stack", including meetup invites, that isn't trying to sell me something. That there seems to be so many people hopping on this train confuses me.

                    • pier25 4 days ago

                      How come?

                      AJAX is about loading HTML from the backend to the client dynamically.

                      JAMStack is about pre-rendering HTML from dynamic content into static files.

                      • strbean 3 days ago

                        > JAMStack is about pre-rendering HTML from dynamic content into static files.

                        Where do the "Javascript and APIs" come into play, if not via AJAX?

                        • pier25 3 days ago

                          Just to be clear, what do you mean with AJAX?

                        • vangelis 4 days ago

                          I've had good luck with serverless WSGI.

                        • skc 4 days ago

                          The problem that Netlify has is that they are simply a feature of the big cloud providers.

                          Microsoft is already testing the waters with their own offering and I'm sure AWS and Google are as well. I'm not sure Netlify will survive the onslaught.

                          • colbyfayock 4 days ago

                            i think there's a lot of truth to that - but they do is so fantastically well

                            there are a LOT of pain points to deal with rolling out all that is included with the base netlify offering

                            hosting a static site is pretty easy - but configuring routing between cloudfront and s3 can be complicated so that the reequests don't always reference the root index.html

                            creating an autodeploy infrastructure can be challenging as well, tools like github actions might make that a little easier, but there are a lot of considerations there

                            it also makes these kinds of solutions more accessible to developers who might not have the understanding or interest to set up that kind of infrastructure. front end devs can build sites, connect, and go with little fuss

                            • lowdose 4 days ago

                              I second this. Players like Netlify and Digital Ocean have a ridiculous amount of mindshare for solving a certain problem faster without the complexity that the big cloud providers bring.

                              I think the market is larger for simplified services without the IAM and S3 cruft, especially when you have to educate the client on the solution.

                              • Rapzid 4 days ago

                                Netlify is impressively slick and streamlined.. It took like 5 minutes to host a Nuxt app from a private repo with SSL.. And that includes setting up the Netlify account.

                                Their redirects are a pain point though.

                              • bitxbit 4 days ago

                                Agreed. As much as I would hate it as someone who utilizes their services, Netlify should look for an exit. AWS is probably the best bet. Between services such as Github Pages, Vercel, and Firebase there’s a lot of competition.

                                • remotesynth 4 days ago

                                  It's possible but so far Microsoft and AWS have not developed anything near as comprehensive as Netlify's solution. For example, Microsoft's static web apps solution feels very much like early days Netlify and I am not entirely sure how committed MS is to this product.

                                  Honestly, I suspect that if any of the big players wanted to get into this space for real, they'd just acquire Netlify rather than try to recreate everything Netlify already has.

                                • olah_1 4 days ago

                                  Adding to this, if you have markdown files in your website directory and simply pull them in and render them via Javascript, search engines will still index your markdown files. Your content is still discoverable.

                                • rishav_sharan 4 days ago

                                  I like the idea of JAMstack and will likely use it for simple toy projects. But I do not like the idea of promoting paid products on HN. this link is basically just an ad telling users to "buy the book".

                                  There is nothing for me to read, learn or discuss on the landing page unless I buy the book.

                                  • projektfu 4 days ago

                                    The upvoting/downvoting mechanism should be sufficient unless you have a scenario where people are upvoting titles without reading the page.

                                    Note to author: perhaps more enticing would be to have 4 examples, the first being a free preview of the book and rest would require payment. Then people could evaluate your tutorial style.

                                    • colbyfayock 3 days ago

                                      thanks - thats a good point - i plan on releasing the first tutorial free actually - i just haven't had the time to get that out yet, that'll be hopefully posted on freecodecamp.org in the next couple of days

                                  • nanna 4 days ago

                                    This looks great. People interested may also want to take a look at Andy Bell's 11ty book, which is more of a general introduction to web development and the jamstack:

                                    https://piccalil.li/course/learn-eleventy-from-scratch/

                                  • poyu 4 days ago

                                    Can anyone point me to a good headless CMS solution that doesn't introduce vendor lock in? I've tried Contenful and I only got nothing but good things to say about it. Probably something open source and self hosted.

                                    • ryancoleman 4 days ago

                                      I really like Ghost https://ghost.org/

                                      It's more for prose than ecommerce but it's really pleasant to use and great for headless through its GraphQL interface.

                                      I recently wrote a tutorial on how to use it with Gatsby & AWS serverless infrastructure so that everything is self-hosted but without the overhead of operating servers. https://docs.stackery.io/docs/tutorials/jamstack-ghostgatsby...

                                      • aosaigh 4 days ago

                                        Have you looked at Craft? It has headless-mode via a GraphQL API.

                                        • colbyfayock 3 days ago

                                          there are a lot of good options here: https://headlesscms.org/

                                          i personally use Netlify CMS for my website. it's not as feature rich as some other options, but for a personal blog, it gets the job done, and it's open source

                                          • poyu 2 days ago

                                            Thanks for that link, will take a look!

                                          • remotesynth 4 days ago

                                            Any git-based CMS would not have vendor locking (i.e. Forestry or Netlify CMS as two examples) since they are only an editing layer on top of content and data files in your git repo. Netlify CMS is also open source. There are limitations to using a git-based solution (reusability of content within a site or reusing content on a mobile app for example) but no vendor lockin.

                                          • z3t4 4 days ago

                                            You dont need that much tooling. A static site generator will do. Build your site with vanilla HTML or markdown. Use web micro-services for widgets like search, comments, contact-form, etc.

                                            • colbyfayock 4 days ago

                                              for sure - that's definitely a valid solution. it all depends on the goals you're trying to meet

                                            • eurvin 4 days ago

                                              'an unexpected error has occured'

                                              I hope you get it up and running again soon, because I am very curious to know what your handbook is all about.

                                              • colbyfayock 4 days ago

                                                :o where are you seeing that, on the homepage? it's loading for me

                                                • eurvin 4 days ago

                                                  I get it in Safari 12.1.2 (12607.3.10) on the mac. It works correctly in Firefox for me now.

                                                  • colbyfayock 4 days ago

                                                    that's so strange - sorry you're experiencing that. im not having any issues on my mac's safari :( glad FF is working for you though

                                                    i'll try to see if i can figure out a way to reproduce

                                              • bitxbit 4 days ago

                                                I guess there’s some use case for Jamstack static generators but unless you do frequent builds just building vanilla HTML is my preference.

                                                • easton 4 days ago

                                                  What’s the expected knowledge before you read this?

                                                  • colbyfayock 4 days ago

                                                    For the book - I don't think there really is a high expectation of knowledge, except maybe just general web development from a high level. The hope for the informational part is to get anyone acquainted with it

                                                    For the tutorials - the expectation is familiarity with Javascript and probably React, given the examples are React, though I walk through each steps with the code changes

                                                    • Cederfjard 4 days ago

                                                      Edit: Pardon me! I think I encountered some weirdness on mobile, I couldn’t scroll very far down. After a reload I’m seeing more.

                                                      ——-

                                                      I’m seeing very little about the actual content of the book on the page. Could you please detail a little bit more about what’s actually covered? What apps are you building in those tutorials? Etc.

                                                      • colbyfayock 3 days ago

                                                        sorry i heard there are some issues with the site but i haven't been able to reproduce to fix :(

                                                        please let me know if you hvae more questions!