7 ms·
Am I the only one that think nowadays anything can be called "full stack"? For me "full stack" is something like Rails, Laravel, Django, etc. Or is it just be
by likortera 4y ago
Am I the only one that think nowadays anything can be called "full stack"?
For me "full stack" is something like Rails, Laravel, Django, etc.
Or is it just being able to run code on the server enough to be "full stack"?
I'm missing the translations system, the validations, the background jobs, the authentication system, authorization helpers, email sending, ORM or data access layer, testing framework, CSRF and related security protections, logging, error handling framework, etc, etc, etc.
To me that's a "full stack" framework. If just running code on the backend and on the frontend is enough, then I can make a bash script a full stack framework, right?
- gjsman-1000 4y agoI personally believe full-stack is fuzzy, because what if we also provided a UI layer, or a payment interface framework, or a notification handling system, or similar as part of the "full stack" system? It's hard to draw a line as to where something becomes "full stack." However... it's definitely closer to what I want "full stack" to mean than... this. Or a pile of bash scripts.
- likortera 4y agowell, I agree.... but to me the baseline is, as I said, Rails/Laravel/Django... there's a common subset of things you need in like 99% of web applications that are not just a rest API or a landing page.
- ssddanbrown 4y ago> Or is it just being able to run code on the server enough to be "full stack"? To me, "full stack" would entail having responsibility for logic on both the front-end and back-end, which Fresh does. Personally, I would not consider Laravel a full stack framework (Although it can work well with front-end frameworks to make a full-stack application). Instead I'd consider it a back-end framework.
- likortera 4y agoIn the case of laravel, I think that having by default a pretty awesome templating system (which even allows for components), a webpack based build system for frontend assets, easy way to serve, cache and bust assets, and a trivially easy way to submit forms and validate user input makes it pretty full stack. Same for Rails, and not event talking about HotWire/LiveWire with might not be considered parts of the framework per se. To me Laravels is pretty more close to a "full stack" framework than Fresh to be honest.
- jokethrowaway 4y agoIn today's world that's not frontend enough (as much as it pains me to say). You need to ship at least a few MBs of JS to prove you are a real frontend engineer.
- likortera 4y agohaha, lol... So I'm a top 1% dev then :). I have all the megabytes in my frontend.
- luismanfroni 4y agoNot here to defend Fresh, it has lot of flaws, but > I think that having by default a pretty awesome templating system (which even allows for components), a webpack based build system for frontend assets Fresh literally does that "by default" without having to include any library/dependency. > easy way to serve, cache and bust assets, and a trivially easy way to submit forms and validate user input. It's almost the same effort in Fresh. > makes it pretty full stack Define fullstack, but even defining it, Fresh totally covers what you said. To be "fullstack" to me means to be filling in all stacks, being in web? Frontend and Backend. To me, having a templating system and having things rendered in backend can be "frontend", but you saying "Laravels is pretty more close to a fullstack framework than Fresh" is not something very logic here.
- peterangular 4y agoNode/JS solutions typically don't come "batteries included." "Fullstack" means different things depending on the ecosystem and for Node devs it means "hey there's a solution for the front-end and back-end." Totally understand about Django, Laravel etc. but typically if I'm building in Node/JS I'm pulling all of that extra stuff in from npm piecing it together myself.
- likortera 4y agoYeah, I do the same. Most of what I do is Next.js + a good bunch of npm packages to get the "full stack". But I wouldn't call Next.js full stack because it can do SSR, or even API routes. But again, that's just me confused about what is "full stack".
- peterangular 4y agoYeah - I really hate the term "full stack" as it can really mean vastly stuff in different contexts, between different companies, hell - even in leading teams I feel like I have to nail down what "full stack" means between the members. > But again, that's just me confused about what is "full stack" Me too because it's grown into an amorphous definition =/
- metamet 4y ago> But again, that's just me confused about what is "full stack". There term has definitely become more amorphous and ambiguous. I spent a few years mostly working with physical hardware, networking, virtualization, scripting deploys for DBs and OSs, and handling the DNS alongside some business oriented C#. Then I moved over to working with AWS and Azure. Now I primarily work with Node, Golang and Python. With modern tooling and a team that supports it, I've found myself mostly working on services, APIs and React front-ends. Even with Next.js, it's hard to know where the line on what "full stack" is. It's sort of come to encompass the frontend and backend of an application, less so the architecture of it. Mentally, however, I still lump it all together when I think of what qualifies for "full stack", as I personally think the term represents an understanding of how everything works together, which definitely helps when troubleshooting the source of a problem.
- jacktheturtle 4y agoI agree. I see technologies like Next, Remix, etc claiming to be full stack, but it doesn't "feel" full stack to me. They have offerings like backend functions, which is really just an HTTP response. But, when I think of a "all in one" / "full stack" langauge, there needs to be an existing ORM inside the framework. That works across the View/Communication/Model. These frameworks have you needing other tools to do this.
- didip 4y agoI thought full stack means going all the way down to tuning the database, the kernel, building your own CI/CD, and performing your own deployment and scaling.
- kolanos 4y agoIn practice, I've seen it used to describe someone who is fluent on the backend (DBs, APIs, DevOps, etc.) and competent on the frontend (React). But that could be more of a product of the talent pool, I think there are more backend engineers who dabble in the frontend (maybe because that's where the perceived party is?) than the other way around.
- jokethrowaway 4y agoIt used to be like this before react. Today, I have the opposite impression. Nowadays everyone is a react tool who want to learn backend so they can call themselves full stack. People see react, Facebook and their eyes turn into dollar signs.
- danenania 4y agoIf it doesn't make you coffee, walk your dog, and iron your shirts, it's not full stack!
- jstx1 4y ago> For me "full stack" is something like Rails, Laravel, Django, etc. Aren't those back-end frameworks? I always undestood full-stack to mean "front-end + back-end".
- santiagobasulto 4y agoThey're "full stack in the sense that you can render templates and manages static/media files. Back when we only had websites, this was fully full stack for sure.
- joshgachnang 4y agoAt least for Django, it handles creating client side views, client routing, etc. You can of course use a different frontend, but that's included by default. See also its wonderful admin interface.
- Mikeb85 4y agoRails definitely has a front end, by default anyway.
- innocentoldguy 4y agoI don't know about the others, but Rails has Hotwire and Phoenix has LiveView, which are both excellent frontend technologies.
- brundolf 4y agoI've always heard it in the context of "front-end" vs "back-end" vs "full-stack (both)" Normally it's used this way to describe a job, but that meaning has circled around and is now used to describe libraries/frameworks too
- matijash 4y agoI agree, this is becoming really confusing! And then also "center-stack" which I heard somewhere recently re one of the frontend frameworks. When I hear of a full-stack framework (in a modern setting), I think of stuff like Meteor, Redwood, and Wasp-lang (disclaimer: I am one of the authors of that one). RoR also always comes to mind, although it's more commonly used as an API server nowadays.
- azangru 4y ago> For me "full stack" is something like Rails, Laravel, Django, etc. Rails, Laravel, or Django are completely agnostic about the frontend side of the full stack though :-) Well, maybe Rails will have an opinion about Stimulus; but this fresh thing continues the journey after the response has reached the client.
- pqdbr 4y agoNow with Turbo, Rails is very opinionated about the frontend side. Which is a great thing. My productivity with Rails 7 and Turbo has never been higher.
- pdpi 4y agoI've always taken full-stack to refer to integration across all layers, versus saying anything about how featureful those layers are.
- g105b 4y agoPlease make the bash thing, I want to see it with a fancy marketing page to mock the JS ecosystem!
- danenania 4y agoI'm just picking out one from the list, but on background jobs, a nice thing about async runtimes like node/deno is that you really don't need background jobs for most apps. You can just use web workers and async/await to do stuff in the background. You might want a more robust system down the line, but it's not needed in the beginning imo.
- gosukiwi 4y agoTo me, a PHP file in an Apache server which includes some JS counts as full stack. To me, fullstack = frontend + backend. I don't think Django counts as full-stack, as you don't have a default front-end framework, like Rail's Stimulus.
- kbenson 4y agoHistorically, I don't think you could call something that sits on top of Apache full stack if you didn't also control Apache, so maybe, depending on whether you're just dropping on some webhost? If you get to ignore threads/forks and number of workers as well as memory management of them because it's someone (or something) else's responsibility, then that's not full stack. The stack is OS (slightly, and can often be ignored), webserver, application, and client (HTML/JS). If you hand off responsibility of any of that then it isn't "full". The term originally came from referring to people that handled all these things. You could be a back-end developer, dealing with the OS and webserver and maybe application, front-end developer where you dealt with HTML, JS and maybe some application code, or you could do both and be a "full stack" developer.
- gosukiwi 4y agoYeah I agree about setting up Apache and managing it. OS + Webserver + (Server language + JS) + DB is the full stack
- abaldwin99 4y agoSome of these newer frameworks are certainly using the term "full stack" in a very different sense than how it's been used historically. Could you fault someone for a cursory reading of the homepage and coming away thinking that Fresh/Remix do all the features you listed out of the box? There's enough confusion here I suppose I'll start using the term "batteries included framework" for the technologies you listed.
- forty 4y agohttps://www.commitstrip.com/en/2016/11/07/which-full-stack-developer-are-you/ https://www.commitstrip.com/en/2016/11/07/which-full-stack-d... :)
- EGreg 4y agohttps://github.com/Qbix/Platform https://github.com/Qbix/Platform is as full-stack as it gets Most other frameworks don’t include things like websockets and Web Push notifications, as well as support for WebRTC, payments etc. So where do you draw the line?
- naet 4y agoFull stack * is * just running code on the backend and frontend. There is no complexity requirement for something to be considered a full stack. You could have a super simple todo list with native javascript that persists by writing to a single sqlite table and that is a complete "full stack" web application. You could have something incredibly intensive on the front end using a bunch of modern frameworks and visualization tools. Or something incredibly intensive on the back end with some of the features you mentioned in your post. But neither is strictly required and many apps will function with just the basics on either or both ends.