I could rant for a while, but a few things off the top of my head: over-architected, overly complex, sometimes bad tooling (karma, protractor), tons of old issues (though they’ve been working to clean this up lately), big time inner platform effect (the templating feels like a language to itself), slow compilation, RxJS is generally overkill, Reactive forms is untyped(!) and clunky, and the “included batteries” are sometimes later removed leaving you to figure it out yourself, such as with protractor and eslint. If I’m just gonna figure it out, why not use React anyway and get a much simpler framework?
That said, for a team or teams with lots of apps where a consistent structure provides real benefits in getting up to speed, I can appreciate that some of angular’s enforced structure could be helpful.
Angular is simpler for me than React. I don truly understand the hate. I can built applications fasters in angular than React. I still use React sometimes, but I always go back to Angular.
This article was so helpful in communicating my exact frustration with DI in .NET. "Why does this have to be so complicated? This is so simple in JavaScript." just kept running through my head the entire time.
AspNet style dependency injection has dug it's claws in to an insane degree, and it's almost always completely unnecessary. If you're never going to change the implementation of a logger or a database connection, there is almost zero value in standing up the whole DI machinery rather than a simple singleton.
That's what people have said every time there is a bust. And every time there is a boom, too, with the whole "this time it's different and won't crash"
For the sake of my family living in Alberta, I hope that is the case and this is just a temporary condition, but with the way oil and gas is going and the terrible government running the show in AB right now, I am not very optimistic.
Please someone help me get Notion. It's slow, it's missing big features like offline mode and localization. What is the attraction to this app? I've tired it 3 times now and I just don't get it.
For me, it's the mix of markdown documents and Airtable-like databases. It's much more productive than the various Excel-based "trackers" and Word documents in multiple folders that my team uses at work. Being able to automatically link relevant procedures and documents to specific work items, keep track of the status of those items, and having an all encompassing, interlinked "homepage" of all the relevant information related to my job keeps my cognitive load minimal.
I've used Obsidian and Dendron for a lot of this previously, but the real killer feature of Notion, IMO, is the databases. I'd kill for a local/offline-first alternative that also has mobile support, but I have yet to find anything as easy (other than Craft, but it's Apple only and the web version is still in beta).
The first is the keyboard shortcuts. The forward-slash shortcut for adding blocks is both simple and powerful. Along with AutoHotKey, I'm able to format and navigate around without ever leaving the keyboard.
The second is the block based system. With the block system, it's really easy to reformat a page or move items to new pages. For example, if there's a bulleted list that needs to be moved, I can just grab the top node and move the whole thing at once (because the other nodes are nested blocks)
I'm sure they have good marketing but that's far away from why I use it. At this point my whole life is in Notion. It's by far my endgame note taking app. The value is that it's so dynamic and infinitely nested and can absorb any messy unstructured thoughts or notes I have without having to stop and think about where it should go.
Like say I make myself a todo list using a List database. Need to set a reminder for myself about some part of it? Just add it in the list item with @. Have some documents or code output that you want to remember? Just throw it in there! Crap, have a billion tabs open from researching and have to stop for the day? Just create a list inside the page and throw all the links in there. Need to take notes on some of those links because the SO answer wasn't quite right, just add it right that list item. All the context for the card is right there in the card. It's a project management board that actually bings value to me as a dev. It's not the thing I have to use to track time, it's a thing I want to use because it's where I can store all my thoughts instead of having to have two systems and keep them in sync which is always a chore.
This is such a stupid, stupid argument. Anyone who makes this argument has clearly never written PHP or has some personal stake in the Node.js ecosystem.
I've written Node.js/Javascript/TypeScript for the past 5-years and my last few projects have been Laravel just because of how damn easy it is. I've used Next.js, Gatsby, [insert flavor of the month here], but nothing has stood the test of time like PHP has. I never had a PHP server die on me because of a lost network connection. I never had a PHP server kill thousands of connections because of one error. I never was 4 versions behind a framework because it changes every fucking week. PHP never had me deploy a Kubernetes cluster with seven thousand pods and monitoring systems just to stay alive.
Node.js is a horrible programming language with a worse package system and anyone who thinks otherwise hasn't had the privilege to work with something else.
The only person who seems to have personal stake on Laravel is you. No mainstream backend framework make you have your infra managed in k8s. There lots of reason to not use Laravel or PHP (or ruby on rails, or django, ...) in general. "It won't beat Laravel" , why? That's like saying to Django maintainers: give up what you are doing , because you will never beat Spring/Actix/.... Laravel might be useful for people who want to go the PHP route, but most people don't(save the wordpress sites fallacy). Also benchmarks put Laravel, and even Lumen in the bottom of the list (https://www.techempower.com/benchmarks/ ), I get the appeal of Laravel, and I have used it in the past. But is not like the only and must have solution for all problems.
Edit: I wrote this before noticing you called NodeJS a "programming language". Well there is that, but my point remains.
I think if you're starting up today you may find easier to find someone who can build you a site with React than with PHP. Or if not today, then give it a few years.
Likewise I think someone starting up for themselves is more likely to be a React programmer than a PHP programmer.
If the argument is that clients don't care (the comment I was replying to) then why would it matter to them that their develoeprs struggle with things that aren't React-flavored? Especially in 2021, when you can build just about anything on the web and stay within the React ecosystem.
Because real businesses that generate real revenue through software processes usually require more than tinker-toy websites built on a teetering pyramid of dependencies.
Couldn't agree more. The people who are against using PHP are those who never used it and think they are being clever and ahead-of-the-curve by bashing it.
Who said they were against PHP? I'm just said there are probably more React developers around these days than PHP ones, thus it's probably easier to hire from that pool.
Oh, I know, I'm just poking at the "I know this thing so everything that we deal with must have a solution derived from this thing" crowd. The SAAS company I work for is about to start migrating away from the monolithic framework we have to a tiered services architecture, and we'll be using laravel because it meets our needs.
The CTO and security teams and devs will care. The language decision has a broad impact on how to secure the application, engineering community (who can you hire), etc. It’s a big decision.
So PHP should be the obvious choice then, considering what a bloated mess and security nightmare Node.js is.
As someone who ran a company for 5+ years on a Node.js stack, never again.
Before when I managed 5k+ servers running PHP, I actually slept at night knowing nothing was suddenly going to go wrong because of some stupid memory consumption bug or exploit in a popular and critical package.