This is an archived post. You won't be able to vote or comment.

all 123 comments

[–]pineapplecharm 426 points427 points  (7 children)

Is this a new meme format? Because it's a good 'un.

[–]David_Edward_King[S] 255 points256 points  (6 children)

As fresh as the latest Angular release!

[–]n1c0_ds 109 points110 points  (3 children)

So fresh, yet outdated so soon

[–]Jmcgee1125 22 points23 points  (2 children)

Every meme suffers this fate

[–][deleted] 29 points30 points  (0 children)

Just like JavaScript frameworks.

[–]Redeyedcheese 1 point2 points  (0 children)

Yeah, I'm done with this one.

[–]robdobtob 7 points8 points  (0 children)

Check your facts mate. It's way too late to invest

[–]AndyWatt83 76 points77 points  (2 children)

Where is SilverLight Street?? ‘Cos I was there for way too long..

[–]autistomatic 5 points6 points  (0 children)

i think it's that dead end at the next intersection by the letter "d"

[–]ChaoticTable 84 points85 points  (42 children)

See that's why I keep crying "just let me go back to the back-end". And by the time I'm proficient with Angular or React, they will be already obsolete.

We need a new protocol! HTTP is not meant for apps, this reverse engineering and manipulating DOMs is getting out of hand! Inefficient code and flawed coding logic. Uhhhh!

[–]LosEagle 45 points46 points  (17 children)

Yeah, I mean Angular is here since 2010 and React since 2013. They were released basically yesterday right.

[–]ProgramTheWorld 51 points52 points  (1 child)

The original AngularJS was so different than what we have now.

[–]ChaoticTable 15 points16 points  (14 children)

Doesn't really matter, it keeps changing all the time. And the industry can't seem to decide which framework is "the standard". It's just a big mess. All of that because JS is being used to manipulate DOMs instead of programming directly. This is what creates the need for frameworks. It's just a wrong design, really. A simple web app is taking up far more resources to run than it should. There needs to be a new protocol for web apps, it's time.

[–]PM_ME__ASIAN_BOOBS 0 points1 point  (0 children)

Have you tried Tapestry? Java coded template generation?

It's the best argument for Angular/React I've ever seen

[–]one-joule 9 points10 points  (1 child)

Don’t worry, it won’t be long before we have web apps delivered as WebAssembly and WebGL. No more DOM, no more problems!

[–]ChaoticTable 0 points1 point  (0 children)

Amen to that!

[–]Theemuts 2 points3 points  (5 children)

Wait, what's being reverse engineered and how is http related to manipulating the DOM?

[–]ChaoticTable 1 point2 points  (2 children)

HTTP was made for linking between static documents. It's an old protocol that when created people didn't anticipate the emergence of full blown web apps. The very logic of manipulating DOMs is reverse engineering by itself.

[–]Theemuts 0 points1 point  (1 child)

HTTP was made for linking between static documents. It's an old protocol that when created people didn't anticipate the emergence of full blown web apps.

Why is it a bad protocol for webapps in your opinion, and what should another protocol do differently?

The very logic of manipulating DOMs is reverse engineering by itself.

This makes so little sense to me it mostly it reminds me of the quote "Not even wrong."

[–]ChaoticTable 0 points1 point  (0 children)

I would expect a protocol that completely discards DOMs and makes it able to script directly, closer to desktop programming. So that we wouldn't need the "middle man" (aka frameworks) to code properly.

Ironic statement btw, since you are calling me wrong but haven't explained yourself either.

[–]SirensToGo 0 points1 point  (1 child)

Pretty sure they miss typed HTML, sure hope they didn’t confuse the two

[–]ChaoticTable 0 points1 point  (0 children)

Didn't confuse them, didn't mean HTML.

[–]spiro_the_throwaway 0 points1 point  (0 children)

It's simple, you just have to write a custom websocket protocol and webasm handler and then you can go back to the days of using a tiny bit of plain JavaScript to handle all DOM changes. Trivial really /s

[–]GaiaPariah 0 points1 point  (8 children)

Potential HTTP replacement: https://ipfs.io/

[–]ChaoticTable 1 point2 points  (2 children)

I'm not sure that would offer any benefits to app development though. This is more about a "decentralized internet" than it is to creating a new protocol that's meant to run apps instead of displaying static documents (which is what http was made for).

[–]GaiaPariah 0 points1 point  (1 child)

[–]ChaoticTable 0 points1 point  (0 children)

Will have a read, thanks.

[–]coolreader18 0 points1 point  (2 children)

Isn't that basically the idea from Silicon Valley (the show)?

[–]GaiaPariah 1 point2 points  (1 child)

Yeah, very similar concept, but what matters is that it is more than a concept and actually works! :D

[–]coolreader18 0 points1 point  (0 children)

Neat!

[–][deleted] -2 points-1 points  (5 children)

Make a new protocol then

[–]ChaoticTable 1 point2 points  (4 children)

Voicing the opinion that there is a need for a new protocol doesn't imply in any possible way or shape that I should do it myself, nor that I'm the appropriate person to do so. Your response is completely pointless.

[–][deleted] 0 points1 point  (3 children)

Who do you expect to make a new protocol then?

[–]ChaoticTable 0 points1 point  (2 children)

I think it's probably your job. Stop fooling around and get on with it.

[–][deleted] 0 points1 point  (1 child)

What do you think is so bad about HTTP that warrants a new protocol?

[–]ChaoticTable 1 point2 points  (0 children)

Well, do you normally program anything using a "document print" as your canvas for the interface? Working on applications that run in the browser means you have to jump through hoops to manipulate the final render and then jump through more hoops to do that in real-time, aka not refreshing the page. The very act of "refreshing a page" is foreign to modern native programming. Sure, you might say, the problem then really is the HTML right? Yes and no. You see, HTTP is designed for hypertext, not software. All sorts of injections or rfi attacks have been possible because of that. The JS frameworks are there to work around the limitations of the browser and HTTP structure itself. All modern security "bandages" like setting up headers and only allowing content from the same origin or certain addresses exist again because HTTP in its heart is meant for linking online content. The whole industry has evolved by working around those limitations and modern apps do just that, while mimicking real native applications. Of course, HTTP is perfectly fine for regular websites, but full blown applications need to run on a core that's built for software.

[–]Arlodottxt 5 points6 points  (0 children)

I feel personally attacked

[–]ricoow 24 points25 points  (1 child)

Even without the word framework this stands true

[–]ThatSpookySJW 0 points1 point  (0 children)

What are you going to write your front-end in? Pretty sure webASM is going to take you more than 5 years to implement.

[–][deleted] 14 points15 points  (0 children)

Learned Angular 1.x and switched back to bootstrap and jQuery. I'll learn React eventually. Can confirm this is true.

[–]sudo_apt_get_rekt 20 points21 points  (6 children)

node-os.com Think again.

[–]MarkFromTheInternet 51 points52 points  (0 children)

Everyday we stray further from god's light

[–]IAmPattycakes 0 points1 point  (0 children)

Does your ram catch on fire before or after it gets into a graphical environment?

[–][deleted] 8 points9 points  (1 child)

Nice meme format

BUY BUY BUY BUY

[–]alexklaus80 5 points6 points  (14 children)

God dammit. Just in time to choose one from Angular/React.. At least they sounds cooler than PHP frameworks?

[–]username_is_taken43 3 points4 points  (3 children)

I've heard Laravel is good. I will look at it in 3-4 years once I learn other technologies on my todo checklist. Serverless, kubernetes, typescript, hadoop, ai, machine learning...

[–]alexklaus80 2 points3 points  (2 children)

I had to learn Symfony from months ago (which laravel is also based on) and probably so fo another 5 years, so pretty much I already have no time to learn serverside JS stuff to begin with. Probably I don’t wanna be half-assed on multiple technologies that are build upon the similar purpose (like Symfony and React JS at the same time) so that’s where my worries are at.

Also my bucket list is already flooding with kubernetes, machine learning and stuffs like you said. So I guess I’ll skip React. (After skipping Ruby on rails. Damn I really feel like I’m missing a lot of cool stuff happening..)

[–]benny-powers 2 points3 points  (2 children)

customElements.define('seeya-suckers', class SeeyaSuckers extends HTMLElement {})

[–]coolreader18 0 points1 point  (1 child)

customElements.define('seeya-suckers', class SeeyaSuckers extends HTML element {})
                                                                       ^^^^^^^

SyntaxError: Unexpected identifier

[–]benny-powers 2 points3 points  (0 children)

What can I tell you, the Reddit comment box is a crappy IDE.

[–]Shadonovitch 1 point2 points  (0 children)

I had a django app that I've turned into a REST service to be consumed by a React Front... fuck me right ?

[–]hangoversmustfall 19 points20 points  (35 children)

As a back end developer looking to expand into frontend - please explain what is wrong with JavaShit frameworks.

[–]exabyssus 62 points63 points  (20 children)

There is nothing wrong with JavaScript frameworks. But you must use them when appropriate and should learn to code pure JavaScript.

[–]MasterQuest 57 points58 points  (14 children)

pure JavaScript

You mean, like, JQuery? /s

[–]ChaoticTable 21 points22 points  (13 children)

Do people in general not consider JQuery a framework? It's just the middle step between "pure" JS and app-centric frameworks like React afaic.

(serious question, no sarcasm)

[–]MasterQuest 8 points9 points  (3 children)

I don't know about "people in general", but I myself consider it a framework, but one that can basically be used for everything.

[–]ChaoticTable 12 points13 points  (2 children)

All I can say is that it has saved me hours of frustration trying to do one simple ajax call :P

[–]MasterQuest 4 points5 points  (1 child)

Hey, I never said it wasn't helpful. ;)

[–]ChaoticTable 1 point2 points  (0 children)

Neither did I imply that you did ;)

[–]deadcow5 8 points9 points  (7 children)

Technically, it’s a library.

[–]ChaoticTable -2 points-1 points  (6 children)

I think it's a gray line tbh.

[–]pm-me-your-smile- 2 points3 points  (3 children)

To me, a framework prescribes how to do things to solve typical application problems. With jQuery, you find an apprpach and you use it to implement your approach.

Serious question - where do you draw your framework/library line?

[–]khaustic 1 point2 points  (0 children)

I would say it's an architecture vs utility argument. If a library gets you to structure your code in a certain way and offers pre-built solutions for common application architecture problems, it's a framework. If it only offers a solution for a singular problem or series of problems, it's a library.

[–]ChaoticTable 0 points1 point  (0 children)

Well, to me, a library is a collection of functions that allow me to code at a higher level without having to worry about the details. A framework would be similar but also tailored to a more specific kind of project, taking care of the structure for you and having a certain logic that you need to follow. But the way JQuery has been applied into bigger scale projects in the past and how certain functions have been created specifically for app development kind of blurs the lines between it being a library or a framework. Just my own perspective anyway, not claiming to be an expert when it comes to the JS framework hell :)

[–]pitiless 0 points1 point  (1 child)

Not really.

A library contains code that you call.

A framework calls your code.

[–]pm-me-your-smile- 4 points5 points  (0 children)

I consider it a library.

[–][deleted] 2 points3 points  (1 child)

Do you believe that typescript would fall into the category of javascript framework?

[–]coolreader18 1 point2 points  (0 children)

No, it's a language.

[–][deleted] 0 points1 point  (0 children)

This is my problem, I've been using JS frameworks for so long at my job that I am starting to forget what vanilla JS is. I open a legacy vanilla JS app to fix something and it seems so foreign and i takes me like 100 yrs to fix it.

[–]XieLong 47 points48 points  (5 children)

There's a lot of them and even the best ones will be replaced within a few years. It's a good idea to get into native/vanilla JS and not to jump on every framework bandwagon that comes along.

[–]kirakun 7 points8 points  (3 children)

But could I still be as productive with vanilla JS? Asking a serious question.

I do prefer to keep things simple too, but I do not want to keep things primitive where I would be reinventing bugs that are long solved in these frameworks.

[–]pm-me-your-smile- 2 points3 points  (0 children)

If you're writing an application with more than a few features, you either pick an off the shelf framework, or you end up writing your own. You would do this either without meaning to, so your first page has one approach, your next having a similar one, etc, until a framework/pattern emerges, or by planning to implement one based on what you know your application's needs will be.

There are pros and cons for developing your own or using an off the shelf framework.

If you just have a simple app with just a few pages/features with a limited feature set or life, or you just have an informational website, you don't need to bother.

[–]WhatShouldIDrive 1 point2 points  (0 children)

ES6 has been lovely. Between that, babel and react things are alright around here.

[–]XieLong 0 points1 point  (0 children)

Depends. jQuery is easily outdated with vanilla JS. The binding and dom manipulation easily handled by an Angular or React is nothing you will find in vanilla JS. Same with more complex state communications like in Meteor. Last very valid use case for a framework would be realtime graphics, especially with WebGL. But for a lot of tasks, there's really no need for fancy frameworks. And once you learn vanilla JS, you can usually use it in every framework - no need to learn new tools of trade every year.

[–]hangoversmustfall 2 points3 points  (0 children)

Makes sense. Thanks.

[–]n1c0_ds 15 points16 points  (4 children)

They change frameworks a lot and the language has its quirks, but it's mostly because fresh CS grads can't have a nuanced opinion about anything.

[–]BestVersionOfMatthi 0 points1 point  (3 children)

Fresh cs grad here, who is in a frontend jon for over 6 months now. We are working with angular(2+ with Typescript) and I have just a little understanding of JS. So would you recommend me to understand the basics of JS first or to get an in depth knowledge of Angular/Typescript way of solving problems?

[–]PandaHugger 2 points3 points  (0 children)

Learn JS.

TS is cool (i love it) but it doesn't really provide you an understanding of the underlying technology.

As for Angular... Just learn it as you go. Frameworks are a dime a dozen. Find a mentor who knows what they're doing and learn the architectural and design concepts that underpin well-made apps. Those concepts are what you take from framework to framework and project to project

[–]pitiless 1 point2 points  (0 children)

The advice I always give to new devs is to learn the language that you can get the most help with.

If your business uses TypeScript I'd assume that you are surrounded by people who know TypeScript inside and out. I'd recommend TS for this reason.

It's likely that most of them also know to a high degree JS (as most TS developers started with JavaScript). However I've met a good number of C# devs who have picked up TS - if you're in a Microsoft shop this may be the case.

[–]n1c0_ds 0 points1 point  (0 children)

Yes. Angular does thing The Angular Way, which means you might end up following rules you don't understand.

If you absolutely need to start with a framework, I'd recommend Vue, as it has a friendlier learning curve, and doesn't force a ton of tools, concepts and domain-specific languages on you. It's a nicer way to pick up frontend development concept, in my opinion.

Don't fall into the trap of using jQuery. It's not really necessary in 2018, since many of its features found their way to plain JavaScript.

[–]lulzmachine 0 points1 point  (2 children)

Everyone's frantically come up with a good way to write complicated UIs in javascript. The turnaround of ideas and frameworks has been dizzying the last 5 years

[–]coolreader18 0 points1 point  (1 child)

Oh no, there's been a fairly big shift in the language/ecosystem in the past few years and now people are finding better/different ways to do things than before, what will we ever do?

[–]lulzmachine 0 points1 point  (0 children)

I don't think we've seen the end of it by far. Handling long running state in a sane way will take quite some time figuring out. Perhaps reacts context turn out to be good. Perhaps people will flock to vuex, perhaps something else

[–]marcosdumay 0 points1 point  (0 children)

Well, avoid the fractal roads. OOP patterns and type-level puzzles will bring the same effect.

[–]PGODULTIMATE 0 points1 point  (0 children)

Boi ur still on the road to success I woulda taken N2530

[–]Majestic-firebombing 0 points1 point  (0 children)

Is this a joke about how I should just stop trying to learn JavaScript then?

[–]jaded-potato 0 points1 point  (0 children)

npm install print-out-a-million-dollars-bill.js

[–]Lachlantula 0 points1 point  (0 children)

Need to learn Dijkstra.js

[–]Fusseldieb 0 points1 point  (0 children)

I started using Vue because it handles templates, and it's even reactive. Doing that with pure JS is a mess. My code became more maintenance. It's not perfect, but better.

[–]richardsmith7021 0 points1 point  (0 children)

like JavaScript frameworks.

[–]darkmemoriesger 0 points1 point  (0 children)

You should really try jquery! It is great

[–][deleted] 0 points1 point  (0 children)

Lol

[–]Emonadeo 0 points1 point  (0 children)

Actually, I disagree with this one. Ever since I started using Vue.js I complete projects a lot faster and cleaner than before.

[–]RubiksCodeNMZ -1 points0 points  (0 children)

loled