News for hackers. Stuff that matters.
Re:Fresh is a new full stack web framework for Deno by likortera on Tuesday June 28, 2022 @10:57AM (#31908544)
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?

Re:Fresh is a new full stack web framework for Deno by folkhack on Tuesday June 28, 2022 @11:04AM (#31908670)
Node/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.

Re:Fresh is a new full stack web framework for Deno by DanHulton on Tuesday June 28, 2022 @12:28PM (#31909801)
This is actually part of why I created Nodewood [1], because every new Node project required pulling all that together, and every new SaaS idea I had had the same basic requirements (user management, subscription management, teams support, etc). Then I figured, if I found this useful, surely others would too, so I packaged it up and have had a few happy customers since then, who have helped me refine it, which feeds back into making my projects better, too.

[1] - https://nodewood.com

Re:Fresh is a new full stack web framework for Deno by jokethrowaway on Tuesday June 28, 2022 @01:27PM (#31910518)
To each his own, personally I stay away from Django and full fledged frameworks (context: I run a few small saas and launch new products frequently).

I find that having to dig to find out how things are done and trying to hack around the framework is the cause of bugs and frustrations.

I still manage two services based on Django and they're a continue cause of pain.

I'd rather spend a week at the beginning of the project and set things up the way I want them with minimal dependencies. Then evolving things is fairly easy, just a matter of skimming through the code.

Re:Fresh is a new full stack web framework for Deno by folkhack on Tuesday June 28, 2022 @02:07PM (#31910989)
> I'd rather spend a week at the beginning of the project and set things up the way I want them with minimal dependencies.

Same.

The only time that I've gone away from this strategy is when I need to get other developers to buy-in to a framework (or hell just a "system of work"). In leadership roles, I've found that a highly-opinionated framework with lots of batteries included really helps keep people coloring inside the lines. For me anecdotally that's more important than having a low-dependency codebase that's very appropriately sized to the problem it's solving.

I've found it's way easier to dodge the inevitable "X way sucks" from my colleagues/subordinates by using "full framework" tools that I can pitch to non-technical management vs. a bespoke solution.

Batteries included frameworks solve people problems more than they do software problems.

---

Just want to reiterate that I absolutely agree with you and the only time I find tools like Django appropriate is when other developers need tooling that keeps them "in the lines," and/or when I'm expecting to have to pitch my solution to non-technical peers/leadership.

Re:Fresh is a new full stack web framework for Deno by stack_framer on Tuesday June 28, 2022 @04:29PM (#31912627)
> I'd rather spend a week at the beginning of the project and set things up the way I want them with minimal dependencies.

Me too. I don't use create-react-app or anything else to set up my Node.js/React/TypeScript/SWC projects. I install each package I need manually, and configure each item precisely how I want it (tsconfig.json, webpack.config.ts, .swcrc, even .eslintrc.json). Makes for a nice, lean project every time.

Re:Fresh is a new full stack web framework for Deno by likortera on Thursday June 30, 2022 @04:55PM (#31938499)
And almost impossible to understand or maintain to anyone coming after you to the project.

The benefits of frameworks is that there's shared knowledge on how to use it, lots of documentation and they are more battle proven.

There's a reason people are not writing assembler. Reinventing the wheel every single time has its trade offs too.

Re:Fresh is a new full stack web framework for Deno by likortera on Tuesday June 28, 2022 @11:07AM (#31908702)
Yeah, 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".
Re:Fresh is a new full stack web framework for Deno by metamet on Tuesday June 28, 2022 @11:40AM (#31909145)
> 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.

Re:Fresh is a new full stack web framework for Deno by folkhack on Tuesday June 28, 2022 @11:17AM (#31908829)
Yeah - 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 =/

Re:Fresh is a new full stack web framework for Deno by pier25 on Tuesday June 28, 2022 @01:22PM (#31910456)
> I'm pulling all of that extra stuff in from npm piecing it together myself

You should check out Fastify.

It does solve a lot of stuff for you. Either included in the core or with official plugins.

Re:Fresh is a new full stack web framework for Deno by jonny_eh on Tuesday June 28, 2022 @12:27PM (#31909788)
By this definition then Next.js is full-stack, but I don't think even they claim that.
Re:Fresh is a new full stack web framework for Deno by ssddanbrown on Tuesday June 28, 2022 @11:03AM (#31908643)
> 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.

Re:Fresh is a new full stack web framework for Deno by likortera on Tuesday June 28, 2022 @11:06AM (#31908681)
In 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.

Re:Fresh is a new full stack web framework for Deno by luismanfroni on Tuesday June 28, 2022 @06:26PM (#31913886)
Not 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.

Re:Fresh is a new full stack web framework for Deno by jokethrowaway on Tuesday June 28, 2022 @01:30PM (#31910560)
In 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.

Re:Fresh is a new full stack web framework for Deno by likortera on Tuesday June 28, 2022 @02:35PM (#31911312)
haha, lol... So I'm a top 1% dev then :). I have all the megabytes in my frontend.
Re:Fresh is a new full stack web framework for Deno by brundolf on Tuesday June 28, 2022 @11:32AM (#31909035)
I'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

Re:Fresh is a new full stack web framework for Deno by pdpi on Tuesday June 28, 2022 @12:00PM (#31909421)
I've always taken full-stack to refer to integration across all layers, versus saying anything about how featureful those layers are.
Re:Fresh is a new full stack web framework for Deno by naet on Tuesday June 28, 2022 @01:56PM (#31910850)
Full 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.

Re:Fresh is a new full stack web framework for Deno by jacktheturtle on Tuesday June 28, 2022 @11:05AM (#31908678)
I 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.

Re:Fresh is a new full stack web framework for Deno by matijash on Tuesday June 28, 2022 @11:35AM (#31909072)
I 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.

Re:Fresh is a new full stack web framework for Deno by didip on Tuesday June 28, 2022 @11:18AM (#31908850)
I 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.
Re:Fresh is a new full stack web framework for Deno by danenania on Tuesday June 28, 2022 @12:38PM (#31909944)
If it doesn't make you coffee, walk your dog, and iron your shirts, it's not full stack!
Re:Fresh is a new full stack web framework for Deno by kolanos on Tuesday June 28, 2022 @11:58AM (#31909392)
In 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.
Re:Fresh is a new full stack web framework for Deno by jokethrowaway on Tuesday June 28, 2022 @01:33PM (#31910604)
It 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.

Re:Fresh is a new full stack web framework for Deno by azangru on Tuesday June 28, 2022 @11:46AM (#31909223)
> 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.

Re:Fresh is a new full stack web framework for Deno by pqdbr on Tuesday June 28, 2022 @11:58AM (#31909393)
Now 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.

Re:Fresh is a new full stack web framework for Deno by gosukiwi on Tuesday June 28, 2022 @12:38PM (#31909946)
To 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.

Re:Fresh is a new full stack web framework for Deno by kbenson on Tuesday June 28, 2022 @01:11PM (#31910335)
Historically, 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.

Re:Fresh is a new full stack web framework for Deno by gosukiwi on Tuesday June 28, 2022 @03:46PM (#31912139)
Yeah I agree about setting up Apache and managing it. OS + Webserver + (Server language + JS) + DB is the full stack
Re:Fresh is a new full stack web framework for Deno by jstx1 on Tuesday June 28, 2022 @11:22AM (#31908887)
> 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".

Re:Fresh is a new full stack web framework for Deno by santiagobasulto on Tuesday June 28, 2022 @11:33AM (#31909049)
They'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.
Re:Fresh is a new full stack web framework for Deno by innocentoldguy on Tuesday June 28, 2022 @01:41PM (#31910682)
I don't know about the others, but Rails has Hotwire and Phoenix has LiveView, which are both excellent frontend technologies.
Re:Fresh is a new full stack web framework for Deno by servercobra on Tuesday June 28, 2022 @11:29AM (#31908975)
At 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.
Re:Fresh is a new full stack web framework for Deno by Mikeb85 on Tuesday June 28, 2022 @01:02PM (#31910242)
Rails definitely has a front end, by default anyway.
Re:Fresh is a new full stack web framework for Deno by abaldwin99 on Tuesday June 28, 2022 @12:54PM (#31910140)
Some 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.

Re:Fresh is a new full stack web framework for Deno by gjsman-1000 on Tuesday June 28, 2022 @11:01AM (#31908615)
I 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.

Re:Fresh is a new full stack web framework for Deno by likortera on Tuesday June 28, 2022 @11:03AM (#31908649)
well, 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.
Re:Fresh is a new full stack web framework for Deno by danenania on Tuesday June 28, 2022 @12:33PM (#31909879)
I'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.
Re:Fresh is a new full stack web framework for Deno by EGreg on Tuesday June 28, 2022 @01:40PM (#31910665)
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?

Re:Fresh is a new full stack web framework for Deno by forty on Tuesday June 28, 2022 @01:32PM (#31910590)
Re:Fresh is a new full stack web framework for Deno by g105b on Tuesday June 28, 2022 @12:31PM (#31909855)
Please make the bash thing, I want to see it with a fancy marketing page to mock the JS ecosystem!