[{"data":1,"prerenderedAt":138},["ShallowReactive",2],{"nav-categories":3,"tag-ui":8},{"pinned":4,"overflow":7},[5,6],"Technology","Security",[],[9],{"id":10,"title":11,"body":12,"category":5,"date":121,"description":122,"extension":123,"image":124,"imageCredit":125,"imageCreditUrl":125,"meta":126,"navigation":128,"path":129,"public":128,"seo":130,"stem":131,"tags":132,"__hash__":137},"posts\u002Fblog\u002Ftwo-years-with-nuxt.md","Framework Paralysis to NuxtJS",{"type":13,"value":14,"toc":113},"minimark",[15,19,24,27,31,40,43,52,61,65,68,71,74,77,97,101,104,107,110],[16,17,18],"p",{},"Roughly two years ago I decided to take NuxtJS (aka Nuxt) for a spin on a pro\nbono community project. I had no preconceptions about Nuxt other than it made\ncomponent-based development easy to get into. My aim has always been modularity,\nleveraging components and plugins as standard for both code reuse and\nconsistency.",[20,21,23],"h2",{"id":22},"pathways-anew","Pathways Anew",[16,25,26],{},"I took the plunge and moved from an Angular world, so there were indeed a few\nuphill marches to exercise the singsong of unparalleled developer joy. Prior to\ndiving into Angular, or what was actually AngularJS at the time, I was really\nonly emerging from backend land into the sheer overwhelming world of frontend\ndevelopment. Prior to that was the dark times: the jQuery years.",[20,28,30],{"id":29},"so-what-is-nuxt","So What is Nuxt?",[16,32,33,34],{},"NuxtJS homepage: ",[35,36,37],"a",{"href":37,"rel":38},"https:\u002F\u002Fnuxtjs.org\u002F",[39],"nofollow",[16,41,42],{},"Nuxt is a meta-framework built on top of VueJS. Indeed, if you are unfamiliar\nwith the frontend landscape at present, you may be gasping at just how many\nlevels of abstraction there are to things these days, but the intentions are\npure.",[16,44,45,46,51],{},"Nuxt offers a further level of simplicity on top of VueJS. After existing in the\necosystem for some time, none of the coveted features really feel like\nunnecessary bells and whistles. In fact, they shine as well-thought-out\nsolutions to common problems built by developers, for developers. The most\nbrilliant of these is the\n",[35,47,50],{"href":48,"rel":49},"https:\u002F\u002Fnuxtjs.org\u002Fdocs\u002Ffeatures\u002Ffile-system-routing",[39],"file-based routing","\nsystem which feels incredibly natural to use compared to code-based routing\nconfigurations.",[16,53,54,55,60],{},"That is only the tip of the iceberg. Features like the\n",[35,56,59],{"href":57,"rel":58},"https:\u002F\u002Fnuxtjs.org\u002Fdocs\u002Ffeatures\u002Frendering-modes",[39],"SSR capabilities"," really take\nthe sting out of many deployment configuration battles that I have experienced\ntrying to achieve the same within an Angular context.",[20,62,64],{"id":63},"rule-of-first-best-last","Rule of First Best Last",[16,66,67],{},"The concept of Nuxt is not exactly the newest thing off the shelf. In my view\nand experience it does a few things well enough to stand out, primarily because\nit does not try to be everything for everyone.",[16,69,70],{},"The old saying of being the first or the best applies to things beyond business,\nand it really often drives a hard meaning in software. To do something first\nusually means making a few critical implementation judgments along the way,\nwhere the second in line learns, learns, learns and learns some more. It is\nunfortunate when the firsts are chastised for these judgments as if we are all\nborn with 20\u002F20 foresight. Give some love for the firsts of the world.",[16,72,73],{},"NuxtJS is not the first, likely not the best as many of these things are\nsubjective, and I doubt it will be the last.",[16,75,76],{},"The following are a few alternatives to consider:",[78,79,80,89],"ul",{},[81,82,83,88],"li",{},[35,84,87],{"href":85,"rel":86},"https:\u002F\u002Fnextjs.org\u002F",[39],"NextJS (https:\u002F\u002Fnextjs.org\u002F)"," is to React what NuxtJS is\nto Vue",[81,90,91,96],{},[35,92,95],{"href":93,"rel":94},"https:\u002F\u002Fangular.io\u002F",[39],"Angular (https:\u002F\u002Fangular.io\u002F)"," Angular (ex AngularJS) is\nan all-in-one web development framework.",[20,98,100],{"id":99},"why-use-a-framework","Why Use A Framework",[16,102,103],{},"Because your own custom \"pure JavaScript DIY framework\" code is likely not as\ngood as you believe it is, and almost certainly not maintainable for others.",[16,105,106],{},"If you are only building a few sections, forego using a framework. Continue to\nchallenge this until it ceases to make sense. If you then decide after 20,000\nlines of vanilla JS to stop and terminate your path of obstinacy, hindsight will\nbe there smiling.",[16,108,109],{},"Whether to use meta-frameworks or not depends on the project. These are really\njust feature sets on top of otherwise stable frameworks.",[16,111,112],{},"Nuxt, Next, Angular, what have you, all reduce the amount of grind involved to\nbuild beautiful and dynamic web interfaces. These teams hold themselves to a\nhigh bar and usually open source their projects. If you do not realise why this\nis one of the most awesome things ever, I urge you to consider that it was only\na few hundred years ago that information, quality education and knowledge was\nonly available to a privileged few, and most people could not read or write\neffectively.",{"title":114,"searchDepth":115,"depth":115,"links":116},"",2,[117,118,119,120],{"id":22,"depth":115,"text":23},{"id":29,"depth":115,"text":30},{"id":63,"depth":115,"text":64},{"id":99,"depth":115,"text":100},"2023\u002F05\u002F05","Navigating the big sea","md","\u002Fimages\u002Fblog\u002Flisbon-sea.jpg",null,{"updated":127},"2023\u002F05\u002F09",true,"\u002Fblog\u002Ftwo-years-with-nuxt",{"title":11,"description":122},"blog\u002Ftwo-years-with-nuxt",[133,134,135,136],"nuxtjs","frontend","ui","client","IU8WNeeSilhrUD6FASZBkyGYPvjtxdW3EhxPxjA951A",1778958297097]