All the web's a stage! (Full Stack version)
Image credit: Otterbein University Theatre & Dance from USA, CC BY-SA 2.0

All the web's a stage! (Full Stack version)

If you've ever been at a social event and heard someone use the term full stack web development, you may have veered away to head for the snack table. But if I could hold your attention for just a moment, I'll try to explain what this mysterious term means.

I live in an apartment at Playhouse Square in Cleveland, the largest theater district in the U.S. west of Broadway. So, I naturally think of things in terms of shows. When you go to a show, whether a huge musical production like Lion King or a one-person show, you may think of the show as just that which happens on the stage. That is both good and understandable, as the goal of the show is to draw you in and immerse you in the story and the pageantry.

Likewise, when you visit a web site, whether that is Facebook to see what you mum has posted recently or the home page for the local flower shop called Mum's Mums to get her flowers, you only see what is presented to you. In web development, this is known as the front end, essentially the top of the stack. We'll get back to that stack in a minute.

In reality, there is a ton which goes on behind the scenes of a stage production. There are sets and props and lighting, and a whole host of people responsible for making sure those things are where they need to be. Between scenes, stagehands scurry about as quickly and quietly as possible, maintaining the illusion so carefully brought about by the performers. Props are carried on stage, used, then carried off and carefully stored in labeled locations ready for the next show.

No alt text provided for this image

Likewise, on a web page, there are all sorts of resources and data which are behind the scenes, waiting to make an appearance at the appropriate time. A database of some sort may store the pieces of information in carefully labeled tables, ready for when they are needed. Images and files and forms are ready to be carried forward to the front end upon request, and then released or submitted as the case may be. Everything is done as quickly and quietly as possible so the user on the website remains in the moment, captivated by the photo of a new granddaughter, entertained by a cat video, or coaxed into spending their hard-earned money on a gadget that must be seen to be believed. All of these data and resources are the back end of the webpage, or the bottom of the stack.

No alt text provided for this image

But if the data and resources are like the props and the sets, what is the equivalent of the stagehands and director and lighting folks? Those are all the middle of the stack, the code which orchestrates the action and makes the magic happen. On a web page, this is often software build in Java, C#, or JavaScript which manages the complex interactions between the front end and back end. Just as a production number or soliloquy may happen entirely on stage, a web page may do a great deal entirely in the front end, but eventually the scene changes or the user wants to do something more on the web page, and then the middle of the stack kicks in, coordinating the choreography of a well designed website to minimize interruption and maximize enjoyment.

In summary, the full stack which we talk about in web development is the combination of back end, middle ware, and front end components which go into making a useful web site. Just as it takes a well coordinated team to make a stage production worthy of your applause, it takes a well coordinated team of full stack web developers to create a fully developed and useful web site worthy of your time and attention.

Image credit: https://eurovisionary.com/?attachment_id=162696

Now, go off and get some snacks before everybody else eats them all up.

要查看或添加评论,请登录

Ben Langhinrichs的更多文章

  • Loops, Camels, and Coconuts

    Loops, Camels, and Coconuts

    One of the most important early concepts to learn in programming is the idea of loops. While a statement does one thing…

  • Exception Handling (Babysitter edition)

    Exception Handling (Babysitter edition)

    Time for another fun article on programming concepts, this time on exception handling. Or, as I like to say, "When you…

  • Arrays and other Collections (at the water park)

    Arrays and other Collections (at the water park)

    Time for more fun with early programming concepts. This is an update of an earlier article, now with more Collections!…

    3 条评论
  • A Party Inside the RESTful Academy

    A Party Inside the RESTful Academy

    Behind almost every web page there are services, and these web services are more often than not built with REST APIs…

  • Inheritance & Polymorphism (& smelly butts)

    Inheritance & Polymorphism (& smelly butts)

    I'm trying with these articles to provide simplified, visual representations of basic programming concepts. Inheritance…

  • Arrays, Lists, Queues, and Stacks (at the water park)

    Arrays, Lists, Queues, and Stacks (at the water park)

    Time for a little more fun with early programming concepts. Most modern programming languages such as Java and C# have…

  • If, Else, Else If, and nested If

    If, Else, Else If, and nested If

    When learning programming for the very first time, there are certain concepts that can be hard to wrap your head…

  • CoexLinks Fidelity: Give 1998 its email back

    CoexLinks Fidelity: Give 1998 its email back

    If you would be interested in a short, 15 minute online demo, I'd be happy to show you how IBM Notes/Domino email…

社区洞察

其他会员也浏览了