[HN Gopher] Google: Angular and Wiz Are Merging
___________________________________________________________________
Google: Angular and Wiz Are Merging
Author : tosh
Score : 81 points
Date : 2024-03-21 11:35 UTC (11 hours ago)
(HTM) web link (twitter.com)
(TXT) w3m dump (twitter.com)
| TechTechTech wrote:
| Anyone has any non video source with more info on this?
| mgechev wrote:
| We're going to share a blog post with more details in the next
| couple of days.
| ts330 wrote:
| Exciting? Possibly for those involved.
|
| I hate to say this, as I'm generally optimistic towards most
| developments like this, but over the last decade I've become so
| apathetic towards anything and everything from Google. They've
| lost so much mindshare and credibility. Their org structure leads
| to stagnation left, right and centre.
|
| I'd rather tolerate the poor status quo in React land than take
| any sort of bet on Google getting something "newish" right.
|
| It wasn't always like this.
| kilroy123 wrote:
| I agree as someone who has spent the past decade working in
| Angular all day and then React. And I don't love React.
| vasco wrote:
| Google was too innovative and successful to use external
| consultants and so the consultants joined the company as
| employees and did it from the inside!
| pavlov wrote:
| Google today feels like Nokia of the mid-2000s. Victim of its
| own massive success, taken over by internal politics and
| divisions. Employs lots of smart people who figured out key
| ideas for next-gen tech early, but the organization is unable
| to take any of those innovations to market. And so it's just
| stuck milking its cash cow.
|
| Google's AI strategy is as clear as Nokia's smartphone
| software strategy was.
| ta988 wrote:
| They took some of the best brains, spoiled them with high
| salaries and glory and took their best years to make them
| work on dumb problems and projects that were cancelled at
| various stages of their life.
| adrianmsmith wrote:
| Those best brains did produce lots of interesting things,
| back in the day (not recently). The Google search
| algorithm, the ads auctioning system, Gmail, Golang,
| certain parts of Google Cloud like BigQuery (create
| relational tables, just stuff data in there, just scales
| by itself without "provisioning", write SQL queries
| including joins e.g. over hundreds of billions of
| rows...)
| unclebucknasty wrote:
| Don't forget Google Wave.
|
| May 2010 - August 2010.
|
| https://en.m.wikipedia.org/wiki/Google_Wave
| pookha wrote:
| It was mostly always like this. You might go back further, but
| since 2008 I've been dealing with google snake-oil. They sold a
| customer I worked with a "search appliance" in 2007 that was
| more or less a paperweight. They packaged up "commodity
| hardware" in a fancy yellow google case and overcharged this
| military unit out the ass for what was a half-assed map-reduce
| algorithm with no security and no means of compartmentalizing
| the data that was stored on the appliance. This was years
| before the elk-stack. I can still distinctly remember the
| commander - an old special forces guy - telling the google-rep
| that he wanted to do a Roshambo game (Cartman nut kicking
| contest). A year or so later I cracked open their case and saw
| that they'd essentially packaged up an old dell poweredge 6K
| series with slow magnetic drives (and raid-5 lol). Maybe that
| fly's if you'd chained fifteen of these things into a cluster
| but that's not how they sold them to their customers. Google is
| a dishonest company filled with immoral lechers.
| bheadmaster wrote:
| Golang is one of the Google products that I consider
| revolutionary in programming.
|
| But then again, it may just be because they employed the
| rockstars (Rob Pike, Ken Thomson, and Robert Griesemer) to work
| on it.
|
| I suppose it's less about the company, and more about who the
| company chooses to work on the project.
| kardianos wrote:
| Exactly, but the Go team appears to have the exact opposite
| mindset as Google product managers. They care about
| maintaining a product and compatibility, without major API
| revisions. They appear to care about first principle
| engineering, not "let's make a new product!".
|
| Okay, watching this video, and they just infantized their
| audience "if someone makes you uncomfortable, come find a
| staff" as if the conference goers aren't adults. That makes
| me really uncomfortable that they think adults can't handle
| themselves and work things out.
| twelfthnight wrote:
| I hear "revolutionary" claimed about languages like Rust,
| Haskell and Zig, but rarely about Go. What about Golang is
| revolutionary to you?
| adrianmsmith wrote:
| The way concurrency works is pretty unique amongst
| mainstream languages.
|
| Java has just copied some parts of how concurrency works in
| Go, but that's nearly 20 years after Go was released.
|
| It's extremely easy to start up code concurrently with "go
| foo()". You can start up lots of such functions
| concurrently, as it works in userspace. Like async code,
| but no "colored functions" problem.
| ildjarn wrote:
| Colored functions is only a problem in JS
| lokhura wrote:
| And C#, Python, Rust...
| ildjarn wrote:
| You can de-color an async function by blocking.
| bheadmaster wrote:
| In most implementations, blocking in an async function
| has unintended side effect of blocking all other async
| function running on the same executor.
| bheadmaster wrote:
| And Python... And Rust... And C#...
| superdisk wrote:
| The concurrency model basically came from Erlang, which
| in my opinion does it better.
| pjmlp wrote:
| Actually Java brought back the green threads model that
| it had before Go came to be.
|
| The difference is that now red and green threads are
| exposed at the API level, and not an implementation
| detail.
|
| Hardly copying Go.
| bzzzt wrote:
| > but that's nearly 20 years after Go was released.
|
| Go 1.0 was released in 2012.
| neonsunset wrote:
| Quoting "colored functions" is a problem of skill. It is
| a tell of engineer's lack of understanding of
| concurrency.
| bheadmaster wrote:
| Can you please elaborate why?
| bheadmaster wrote:
| There are several features that can be considered neat on
| their own. Most of those features are probably derived from
| other languages, but together they form a very powerful
| language that simply takes away the pain that I feel using
| other modern languages, such as C++, Python, Java and
| NodeJS.
|
| Here are a few on top of my head:
|
| 1) CSP concepts embedded deeply into the language
| (goroutines/channels/select) making concurrency easy to do
| correctly
|
| 2) Standard Library and Go toolchain providing everything
| that most languages use third party libraries for
| (formatting, testing, benchmarking, fuzzing, HTTP, crypto,
| etc...)
|
| 3) Compilation into a static binary that can just be copied
| from machine to machine without any dependencies whatsoever
| (even C struggles with that on Linux, due to glibc NSS
| fiasco)
|
| 4) Cross-compilation by changing two environment variables
|
| 5) Minimalistic distribution system - just write `import
| "github.com/person/repository"` - no need for packaging,
| pom.xml, requirements.txt, package.json, etc.
|
| 6) Interface-based modularity (structural typing), making
| code reuse much easier than the usual OOP-style abstract-
| class based modularity (nominal typing)
|
| 7) Extremely fast compilation, which makes read-modify-run
| development loop as fast as with interpreted languages
| pjmlp wrote:
| 1) Modula-2, Active Oberon, Erlang
|
| 2) .NET, Java, Smalltalk, Common Lisp
|
| 3) Any compiled language until the mid-1990's.
|
| 4) Amsterdam Compilers Toolkit, 1980
|
| 5) Until the repo changes, forbids distribution of binary
| libraries
|
| 6) Standard ML, Caml Light, OCaml, Haskell,...
|
| 7) Turbo Pascal on CP/M, MS-DOS computers running at 7
| MHz, with 640KB.
| bheadmaster wrote:
| If your post is intended to be a remark on how nothing in
| Go is "revolutionary", please read the first paragraph of
| my post, and notice how there isn't a single language in
| your list which is in all 7 categories.
|
| Additionally:
|
| - Erlang does not implement CSP, it implements Actor
| model
|
| - Java does NOT have all the listed features included in
| its default toolkit - hence the existence of Gradle,
| Maven and all other packaging/testing/benchmarking
| solutions
|
| - The "until mid 1990's" is the keyword here - I'm
| talking about modern languages and I explicitly pointed
| that out
|
| - ACT is not part of any language, it is an external tool
| that may or may not be reliable, but definitely does not
| have toolchain/standard library level of
| quality/stability guarantee.
|
| - "Until the repo changes" - packages can disappear from
| any system, see leftpad incident
|
| - "forbids distribution of binary libraries" - not true,
| see [0]
|
| [0] https://docs.google.com/document/d/1nr-
| TQHw_er6GOQRsF6T43GGh...
|
| ---
|
| However, if I have misread your tone, and your post was
| intended to be an informative list of languages Go was
| inspired by, then thanks for the information. But some of
| it is misleading or false.
| pjmlp wrote:
| My opinion on Go's "innovation" is well known on HN, and
| gonuts back when I cared pre-1.0.
|
| I could go over those points, one by one into detail,
| including Russ Cox point of view on disabling binary
| distribution, but not feeling motivated to press the
| further the wound.
| bheadmaster wrote:
| I have no idea who you are nor do I care about internet
| pseudocelebrities, sorry. Your opinions, to me, are just
| words from a random stranger, whose merit is only insofar
| as I can learn something new from them.
| pjmlp wrote:
| I fail to see in what sense.
|
| It is basically a revamp from those rockstars previous
| efforts (Limbo and Oberon based dialects).
| Workaccount2 wrote:
| Everyday that Sundar is still CEO leaves me more and more
| bewildered. I cannot figure out how Brin and Page (who together
| own voting majority) look at google of 2024 and say "Yup, this
| is what we want Google to be".
| lgleason wrote:
| They have essentially retired and are just enjoying the money
| they made from it.
| agotterer wrote:
| The goal of a public company is to increase shareholder
| value. Hard to argue that Sundar hasn't done that. Revenue
| has increased 5 years straight. Market cap with the exception
| of a dip during Covid is strong and is approaching its all
| time high.
|
| As a Goolgle user and long time admirer, there have certainly
| been some disappointments and mistakes over the years. But
| there's also been some major accomplishments which people
| sometimes overlook.
|
| While still early, Waymo seems to be on the right trajectory
| and may be a key player in autonomous vehicles. Let's not
| forget Googles work on transformers, which is heavily
| responsible for the current AI boom. That's just two that
| come to mind, I'm sure there are others. Maybe these were
| started before Sundar, but he's been CEO for almost 9 years
| now. So he gets credit.
|
| Google may have some culture challenges to work through,
| brain drain, and identity issues. But I don't think their
| story is written just yet. With a giant stock pile of cash
| they have plenty of time and resources to buy or figure their
| way out of any perceived issues (if that's even what they
| need to do).
|
| Microsoft did it. And if you really want to have your mind
| blown, go take a look at IBMs stock chart. I didn't expect to
| see it approaching an all time high.
| twelfthnight wrote:
| What choice can you point to that has increased Google's
| market cap? Google's search quality is deteriorating, Waymo
| is yet to make a profit, GCP is struggling, "Attention is
| all you need" was too early on to credit Sundar, and since
| then Google's reputation is flagging due to embarrassing AI
| models...
|
| I think Google's market cap is increase _despite_ Sundar,
| not because. That said, Google does have enough resources
| to turn it around, I just don't think Sundar is the right
| person to do it.
| agotterer wrote:
| GCP is struggling? Is that an opinion based on experience
| or based on actual stats? Because GCP revenue has
| increased every year since 2017. AWS and Azure are
| capturing more market share. But I'm not sure I consider
| third place and $33B in revenue last year a struggle.[1]
|
| > I just don't think Sundar is the right person to do it
|
| That was sort of my point. Does Google need to be turned
| around? All stock metrics and revenue metrics show that
| they are doing well as a company.
|
| Sure the AI model stuff was embarrassing. But it doesn't
| seem to be having an impact on the value of the company.
| Maybe goodwill was hurt. But if we've learned anything
| from the Meta drama over the years, people will be quick
| to forget about it. I don't think a few fixable and
| public missteps like that will sink the company. Does
| anyone outside of tech even know about it? It's possible
| it's indicative of a larger internal issue thats brewing.
| But it's not impacting the value of the company... yet at
| least.
|
| [1] https://www.statista.com/statistics/478176/google-
| public-clo...
| Workaccount2 wrote:
| Google is in the familiar position where there numbers
| are good, the charts are all pretty, but when you go put
| your ear to the ground, you only hear sounds of trouble.
|
| If google had proper leadership, the company would
| _easily_ be worth twice it 's current value. _Easily_.
| Instead we have a situation where raw capitalist inertia
| is carrying the company forward, while active discussions
| of the company are ridden with grievances and
| frustrations. Grievances and frustrations in a market
| where there are competitors that users can flee to. It 's
| a bad spot to be in.
|
| There is no reason Google shouldn't be the ones on the
| cusp of releasing GPT-5 level LLMs. None. Instead however
| they have a middling LLM that is scared to mention white
| people. So back to the drawing board so they can work out
| the racial kinks, while the competition blasts past them.
|
| Google needs big company technology focused leadership 5
| years ago. But tomorrow would be good too.
| agotterer wrote:
| You make a good point about the possibility that they
| could be even more successful with stronger leadership
| and product focus. I can't argue with that and don't
| disagree.
|
| My points were focused on the fact that the data just
| doesn't currently show Google failing or declining as a
| company.
|
| It's going to be really interesting to see how the Google
| AI strategy plays out. I agree that they could have
| absolutely been the leader. They had the money,
| resources, and ingredients to make it happen.
|
| I believe that AI is a threat to their current business
| model. How much did that influence their investment and
| focus on it?
| twelfthnight wrote:
| Imagine having the talent and money of Google and
| accomplishing essentially nothing in ten years, but
| collecting 200 million a year.
| easton wrote:
| For people who didn't know: Wiz is apparently a internal
| framework that Google uses for their apps that wasn't ever open
| sourced (at least, not completely, based on a quick search).
|
| At least they'll be dogfooding Angular now hopefully.
| throwaway290 wrote:
| I thought some teams at Google were dogfooding Angular for many
| years now?
| nness wrote:
| I can say from experience that Google requires third-parties
| use Angular when they are developing experiences on behalf of
| Google -- i.e. through their agency partners.
| brianzelip wrote:
| Lots have been [0,1]
|
| 0, https://changelog.com/jsparty/310
|
| 1, https://changelog.com/jsparty/312
| throwaway290 wrote:
| Yeah. I distinctly remember Google using it itself a big
| motivator to go with AngularJS and then Angular in side
| projects, so I was not wrong...
| danpalmer wrote:
| Basically all web frontends I've seen here are either Angular
| or Wiz, depending on latency requirements, or they're some
| legacy technology that is being moved to Angular or Wiz.
| jpalomaki wrote:
| From the presentation: Angular is for "enterprise" apps. Wiz is
| for latency sensitive consumer apps (Google Search, Google
| Meet, Photos). They also mentioned Wiz is tightly integrated
| with the Google tech stack.
| esprehn wrote:
| Google uses Angular quite a lot already. Pretty much all
| internal tools (bug tracker, code review, release tooling etc)
| is built with it. There's also a number of public facing apps
| like GCP Cloud Console and the Gemini web app.
|
| Wiz has historically favored performance over ergonomics in the
| extreme. None of it is open source, and to be honest even if it
| was it's unlikely most people would want to use the mix of
| Java+Soy+JS+jQuery-ish API.
|
| Interestingly both frameworks are around the same age (if you
| count Angular 1.0), but Wiz was kept internal.
|
| What Sarah is referring to is both a big shift in Wiz to get
| modern ergonomics and a shift in the framework strategy to
| avoid having two entirely separate frameworks.
| skybrian wrote:
| There is also AngularDart, which is a fork. But it's been a
| while since I left Google and I don't know how much it's used
| nowadays.
| nvahalik wrote:
| Angular I know... but what the heck is Wiz?
| jitl wrote:
| It's the internal framework they use for Search and YouTube.
| I've heard of it from Xooglers but besides them I don't think
| it's well known.
| brabel wrote:
| Apparently another Google web framework... I had never heard of
| it, but I know this company called Wiz and thought it may be
| related for a second: https://www.wiz.io/
| ljoshua wrote:
| No relation.
| jgalt212 wrote:
| Can anyone recommend a good resource discussing the interplay
| between highly optimized js bundles and code caching? i.e. it
| seems to be me that one would benefit by serving the same js blob
| on most / all pages even if it includes unused code because then
| you pretty much always utilize the code cache.
| rimunroe wrote:
| Maybe I'm misunderstanding your question but why would you want
| a single bundle vs multiple bundles?
|
| If you have a single blob you have to invalidate the whole
| thing when it updates. If you split your code out into multiple
| bundles you can invalidate only the bundles which contain
| changes. As far as I know this has been standard practice for
| the last decade at least.
| iainmerrick wrote:
| I think it's a good question, and the answer isn't quite as
| straightforward as you suggest.
|
| The advantage of bundling is that you can do cross-module
| minification and dead-strip unused code.
|
| The extreme version of "multiple bundles" would be to minify
| each JS module individually, but don't bundle them. That
| would clearly miss a lot of size optimisations. (And as I
| understand it, this is how Deno's new package manager is
| meant to work, which makes me a bit suspicious.)
|
| The opposite extreme of one bundle for the entire app is
| great for optimisation, but as you say, then you have to
| invalidate the whole thing if anything changes.
|
| One bundle per route is tempting but then common code gets
| duplicated.
|
| Vite's default behavior (via Rollup) is to make one bundle
| per common module. That works pretty well but I've found the
| number of output bundles can explode in surprising ways. In a
| recent project I manually split the code into chunks and
| loaded them via dynamic import() and that worked pretty well
| -- good balance of size optimisation, caching and manual
| control.
| jgalt212 wrote:
| This is probably some big hairy statistical optimization
| problem. 100 bundles across 1,000 routes. How to you pack
| up the 100 bundles into n (n<100) larger bundles such that
| average time to interactive is smallest. Of course, you get
| different answers depending on first time vs returning site
| visitors.
| rimunroe wrote:
| Thanks for the thorough reply!
|
| I confess I wasn't thinking about a particular build tool.
| My recent experience has been with Vite, where I took a
| similar approach to what you describe, but haven't had to
| dig deep into bundle performance because that's not a
| bottleneck for our application. The last time I did deeper
| work on the subject was years ago with Webpack.
|
| I thought Webpack at least did dead-code elimination before
| splitting things into chunks. If I'm reading this random
| GitHub issue[1] right (and the asker is also right),
| Webpack does partially behave as I expected, but the pre-
| chunking optimization pass occurs before things like
| constant expression evaluation.
|
| [1] https://github.com/webpack/webpack/issues/16672
| jgalt212 wrote:
| We have a single bundle of JavaScript with all our helper
| functions, then a page specific bundle that uses some of the
| helper functions. The same helper function bundle is
| delivered to all pages--not a different tree-shaken version
| delivered to each page that only has the functions used by
| that page. One helper function bundle is bigger, but since
| every page gets it, this bundle is code cached.
| chuckadams wrote:
| Bundling everything together and letting it be cached is how
| most single-page apps do it, yes. If the code isn't used by
| anything at all, it gets removed from the bundle entirely: that
| process is called "tree shaking". Modern frameworks like Nuxt
| also tend to do something called "code splitting": for example,
| I have a Nuxt app that contains, among others, pages like
| /vehicles, /drivers, and /fuel. Instead of creating a single
| giant js bundle, Nuxt creates several, including a file for
| code that's used by _just_ the /vehicles page, a separate
| chunk for code that's only for the /drivers page, and so on,
| along with common chunks that are used by all of them. Script
| tags are then generated for each of these three pages so that
| when you hit one of the pages, you only get enough of the code
| for that page, and the rest is loaded when you navigate to
| another page. It's still a single-page app, but with multiple
| entry points, each one optimized to initially load only what
| that entry point needs, the rest being dynamically imported
| when needed. Each bundle's filename contains a hash of its
| content, so they can be cached forever (that does have
| consequences when upgrading though: a typical SPA has to do
| some some version checking and self-updating on its own, as the
| browser will otherwise be eager to serve stale code)
|
| In dev though, one usually doesn't even bundle, and runs the
| app on a dev server that dynamically compiles and serves
| individual modules. When I initially load the app off the dev
| server, my browser makes close to a thousand requests for all
| those modules, but pipelining and caching make it all quite
| zippy regardless. Bundling is still faster and uses less
| bandwidth though, so for production one typically does still
| build a bundle (or several code-split ones).
|
| There's gory details at https://webpack.js.org/guides/code-
| splitting/ (for webpack; other bundlers like Rollup work
| similarly) but frameworks like Next/Nuxt do it automatically as
| part of the build process.
| hiddencost wrote:
| I hate wiz. But maybe having a public facing user base will force
| basic usability.
| bossyTeacher wrote:
| This is not Wiz the web builder product you know about. It's an
| internal framework used by Google.
| ecmascript wrote:
| I hate Angular with a passion. It's easily the most verbose,
| overly complex front end framework I've ever used which just
| takes the fun out of building web apps and make it a pure pain. I
| would rather work on a farm and shovel pig shit all day than work
| in Angular again.
|
| My last job forced Angular on me, I quit after a while (not
| because of solely that reason) but I told them Angular was a bad
| choice and they chose to overrule me. Pretty funny now, they will
| have to endure the pain of migrating a large app which makes me
| feel good.
|
| Make stupid choices, win stupid prizes.
| approxim8ion wrote:
| To offer a differing experience, I've been working in Angular
| for a couple of years now and personally like it quite a bit. I
| don't like frontend frameworks in general, but given the choice
| I prefer Angular over React.
| usui wrote:
| I seldom see this opinion but I'm glad to read it. People
| complain about JSX on the React side but what on Earth am I
| reading when I see the templating language that Angular came up
| with? ngIf, ngBlah. Much worse than JSX, which is subordinate
| to JavaScript code, not equal. I also have been forced to use
| Angular at the workplace and it killed any fun making web apps
| had. People say Angular is great for enterprise because it
| removes the burden of deciding things, but this indicates an
| organizational problem being solved technologically. In other
| words: Never a good thing.
|
| Similar conversation 10 months ago:
|
| https://news.ycombinator.com/item?id=35811256
| EMM_386 wrote:
| > the templating language that Angular came up with? ngIf,
| ngBlah
|
| The new templating syntax is simply @if () @else () ... it
| makes it much clearer to read in many cases.
|
| I never had a problem with *ngIf as long as you are
| controlling the visibility of one element. It became messy
| when you needed "else" statements in there.
| ecmascript wrote:
| I didn't care so much about the syntax but rather the over
| reliance on the subscriber pattern that you have to have like
| a subscriber to even read something as fundamental as query
| params. And the funny thing is that is will fire once and
| then again when the query params is actually set. So you will
| have an empty fire for when they are not yet set for some
| strange reason, presumably from when the observer is created.
|
| The problem with Angular, especially as the app grows is that
| you will have many different subscribers that all listen on
| the same state changes, then fire them again so you will have
| code that just runs again and again and it's extremely hard
| to have a mental model on how the system work and what code
| runs when.
|
| The code also easily gets super slow because you run
| something, it affect state, then it triggers something else
| that triggers something else that just happen to affect the
| first state, whoops now you have a loop. Even if the loop
| resolves, it's pretty much inevitable to get a loop sometimes
| if the app is complex enough, at least in my experience
| working with several other devs.
| tashoecraft wrote:
| Sounds more like a misunderstanding of the framework and
| observables. The problem many faced with angular is they
| chose not to learn observables, then got angry.
|
| If you have different subscribers, all on the same state
| change, you may not have chosen to use ShareReplay, or
| filter, or bothered to use a tool like ngrx that has
| memoized selectors.
|
| The same problem you're complaining about is the same thing
| people in the react community are complaining about because
| they never bothered to understand useEffect, and now have
| massive cascading updates.
|
| There is a very good reason they chose to make everything a
| subscriber, and it helps avoid pitfalls, because it doesn't
| hide away the async nature of everything. Signals are just
| a simpler way to understand and use that same async nature.
| ecmascript wrote:
| Well perhaps, but I think it's so overly complex and
| verbose to the point that learning it and making sure
| that everyone working on the project is on the same level
| is hard or near to impossible.
|
| I really tried to learn RxJS, I used a lot of different
| methods like filter and what not but I still got into a
| huge amount of issues but honestly a lot of that was
| because angular was not really fit for the type of
| application we were trying to build. Especially as we
| relied heavily on query params for state. There were many
| strange behaviors of Angular Router that I ran into
| several times. It has some kind of own internal state and
| fires updates in an unexpected way. I remember sitting
| hours just to try to get the query params to update
| correctly and I was not the only one having these kinds
| of issues.
|
| Even if I agree useEffect is unnecessary complex, it's
| still far far away from being as complex as RxJS and
| Angular. I remember I was trying to add some pipe service
| or whatever it was called and it was near to impossible
| to achieve what I wanted to do which would be trivial in
| any other framework/vanilla JS (unfortunately I don't
| remember what it was).
|
| Then using third party stuff in Angular is a nightmare as
| well. You have to deep dive into how it's being built to
| make sure all the stuff is brought into the build step
| etc. The configuration is a nightmare if you want to do
| something special like making use of Angular Elements
| that's barely documented at all.
|
| I never got to use the Signals feature, because I left
| the company before it got introduced into Angular.
| datavirtue wrote:
| That's the problem, you have to learn all that crap.
| Excuse me, you have to hold it properly.
| chuckadams wrote:
| The template syntax of Angular isn't the problem most people
| have with it. It's the boilerplate, the forced OOP paradigm,
| having to work with observables even when they're not
| appropriate (thus having to understand "hot" vs "cold"
| observables), and up until recently, having to scatter each
| component across three different files. And to top it off,
| when the lack of expressivity is touted as a feature for
| taming complexity, that points to a development culture that
| doesn't sit well with me either.
| tashoecraft wrote:
| You have literally never had to scatter each component
| across three files. From the first release of Angular 2,
| you had "single file components", with template, styles and
| js all in one file.
| cout wrote:
| You could do that with angularjs 1.5 components too. But
| afaik it was/is not standard practice to embed html and
| css inside your js, because many (most?) editors treat
| html inside a string as a string instead of as html.
| chuckadams wrote:
| It does appear I was wrong about the "until recently"
| bit: Angular still doesn't have a single-file component
| format like Vue or Svelte. Of course you can stick
| templates in string literals (and IDEA will even treat
| them as angular templates). Just be prepared to escape
| your quotes I guess. The official tutorial still uses
| separate files, and the tooling defaults to them too.
|
| Honestly the real shame is that IDEs don't present a more
| integrated UI for separate files, and that on the other
| hand in my Vue apps I still have to argue over the order
| of script/template/style sections. I guess Angular at
| least avoids that second problem.
| usui wrote:
| Isn't dealing with bare string literals for HTML-like
| syntax a terrible developer experience?
| chuckadams wrote:
| Not as much in Jetbrains IDEs: it detects the string is
| HTML and highlighting, formatting, and mode-specific
| functionality all just work inside the string. In an
| Angular source file, all the template properties like
| "ng-if" autocomplete too, not sure if any code completion
| inside props works though (it doesn't with the AngularJS
| 1.x I just tested, but that's a different plugin that's
| probably less capable). Have to be careful about escaping
| the outermost quotes too if you use them in the template.
| So not exactly terrible, but still a little bit janky.
| EMM_386 wrote:
| I've been working with large Angular projects for years and I
| really enjoy the development experience.
|
| Especially now with the new template syntax, signals, and other
| recent changes.
| tmjdev wrote:
| Agreed. I think the earlier days of Angular put a bad taste
| in many people's mouths. Many people who complain about
| Angular being verbose seem to only have experience working on
| smaller apps.
| mattlondon wrote:
| I suspect the migration effort will be fairly minimal. We
| recently migrated a bunch of stuff in a large codebase to use
| signals instead of observables and it was very straightforward.
| Couple of days for a junior engineer levels of straightforward.
|
| I personally find Angular to be fine - sure there is a learning
| curve but that is true of anything (it's not like you can just
| pickup modern react and make anything functional without having
| to know how react works and spend ages picking libraries and
| installing and learning how to use npm, spending 6 months in a
| sanatorium getting therapy after realising you _have_ to use
| npm for react and accept the shit show dumpster fire you are
| letting yourself in for by relying on npm, and deciding if you
| should use hooks or not and what about JS vs TS etc etc ). I
| find JSX in React an uncomfortable compromise that throws out a
| bunch of hard-learnt best practice in computer science (mixing
| up and confusing presentation with business logic _in the same
| file_ ). Separation of concerns is a good thing.
|
| Angular will continue to be a solid choice for large
| professional outfits that care about things like
| maintainability, repeatable builds, dependency management,
| readability etc etc. Having Angular be the framework that
| powers websites like google.com and YouTube is just going to
| make it even more of a "no-brainer" choice than it already is
| if people are picking a web UI framework.
| LispSporks22 wrote:
| I've hated working on every Angular project I've worked on. No
| matter the team, the experience level or complexity, it's
| always been an absolute misery.
|
| I cannot understand how it was invented/why it exists, how
| smart people at Google convinced themselves to use it. I cannot
| understand how they let it escape into the wild or even why
| those not forced to use it, choose it.
|
| I know I've begged before for this, and it's pointless, but
| please if you're in the position to, please consider snuffing
| it out and starting over.
| datavirtue wrote:
| It's worse, everyone jumped from Angular to the React
| bandwagon. I use these types of things as litmus tests for if
| I want to join a new company/team. No sense in cussing under
| my breath all day every day. It's really hard to smile after
| you just invented a new vulgar phrase to describe mangled
| tech.
| uxcolumbo wrote:
| So React is equally bad in your view? If so why?
|
| What do you use?
| bruh2 wrote:
| Off topic, but is there any chance to avoid sharing Twitter
| links? Would rather not log in to the site
| spamtarget wrote:
| i'm with you, i used to use nitter with the firefox extension,
| but it seems to be dying, is there any alternative?
| pabs3 wrote:
| There is https://twstalker.com/ but the site is very very
| dodgy.
| spamtarget wrote:
| thanks, maybe that will become something later, but i am
| looking for an browser extension that doing the work for me
| pabs3 wrote:
| Maybe one of these:
|
| https://libredirect.github.io/
| https://einaregilsson.com/redirector/
|
| Note the site I linked is very dodgy, so probably not
| trustworthy.
| spamtarget wrote:
| i checked them, but libredirect removed the twitter
| option from the config menu (i guess because of the
| changes in the twitter api) and the other just a generic
| url to url redirect. but thanks anyway
| pabs3 wrote:
| You can easily add twstalker to the generic one.
| tosh wrote:
| In this case I spent 5 minutes trying to find a different
| source but the tweet thread is the best I could find
| unfortunately. There is no official blog post afaiu.
| darklion wrote:
| Why not post a direct link to the video that the tweet
| embeds?
| tosh wrote:
| I have considered this as well but the video is a whole
| keynote about various things. Was not an easy decision.
| mdaniel wrote:
| it's https://www.youtube.com/watch?v=nIBseTi6RVk&t=2270
| right?
| wepple wrote:
| +1 rage against walled gardens
| throwaway4good wrote:
| I hear most Angular projects being stuck at around version 15 due
| not being able to migrate away from Angular Material "Legacy".
| tietjens wrote:
| This seems to be true for many and happened to me. It is an
| absolute nightmare trying to upgrade Material. Now I've
| convinced my team to move to a different framework.
| the_cramer wrote:
| There are still issues with density not working well with some
| angular Material controls. This forced us to do some hacky css
| stuff. Some of the github issues have been open a long time
| now...
| peer2pay wrote:
| You can upgrade all the way to Angular 17 without having to
| adopt the new MDC components. Only this May with Angular 18
| support for the legacy components will be dropped completely.
|
| That's the reason we're currently migrating all our remaining
| usages of Material components to ng-zorro.
| JamesonNetworks wrote:
| Ugh, this isn't Angular anymore. This will be just like the v1 ->
| v2 transition. Presignal -> signal. The second they start
| deprecating the previous syntax, we will hit very difficult
| migrations
| baggachipz wrote:
| We just got done porting everything from AngularJS to Angular
| D:
| b15h0p wrote:
| There is a pretty usable migration tool built into Angular CLI
| at least for switching over to the new template syntax.
| Requires some manual cleanup here and there but overall it's
| not painful at all.
| pquki4 wrote:
| How "not painful" would it be for a codebase with thousands
| of files, hundreds of which are widgets?
| miiiiiike wrote:
| For years I've been saying "Angular is the wrong choice now but
| it will be the right one someday..." I didn't think it would take
| 5 years to get there.
|
| The Angular team has been doing incredible work lately.
|
| The only thing that I still don't like about Angular is trying to
| learn anything from the reference docs.
|
| Have a reasonable developer tell me what a component viewProvider
| is and how it's different from a provider using the @Component
| docs. It's impossible.
| https://angular.io/api/core/Component#viewProviders
|
| Whatever committee decided to silo the Angular reference docs
| from the usage docs has caused more harm than most of the
| hyperbolic non-examples I can come up with.
|
| If you're writing docs, please, please do me a favor and study
| the structure of the Django and Python docs.
| dgellow wrote:
| What makes it the right choice in your opinion?
| hmcdona1 wrote:
| > Have a reasonable developer tell me what a component
| viewProvider is and how it's different from a provider using
| the @Component docs. It's impossible.
| https://angular.io/api/core/Component#viewProviders
|
| Like this?
|
| - https://angular.io/guide/hierarchical-dependency-
| injection#u...
|
| - (new docs site) https://angular.dev/guide/di/hierarchical-
| dependency-injecti...
| Klaster_1 wrote:
| Not as exciting as the title might imply.
|
| Short story, they put Angular signals into Wiz, which powers
| YouTube among others. No concrete Wiz announcements besides that.
| If you follow the Angular changelogs and plans, the video
| basically recaps these in a less dry manner - the same as seen
| during previous ng-confs. There's a short section at the end [0]
| showcasing a preview of what's in the pipeline but didn't receive
| much coverage yet, such as less boilerplate when authoring
| components.
|
| [0] https://youtu.be/nIBseTi6RVk?t=4790
| lakomen wrote:
| I've been working with Angular for 2 years, then moved to Vue and
| have been with it for, idk 3-4 years now. I like the theory of
| Angular, the modularity, the way it works, but I HATE rxjs and
| the complexity of it. And the whole thing on top of rxjs, ngrx.
| You can't just simply take one value and compare it, no you have
| to use pipes and rxjs.
|
| Also there's an Angular discord and they're very hostile towards
| anyone not fanboi-ing Angular. I was about 6 months into Vue and
| wrote how I prefer it, for its simplicity. Then I was constantly
| harassed until I was kick/banned. With another account I saw,
| "HEIL ANGULAR o/" written in the chat.
|
| That's just stupid. You have to be open minded. Angular has good
| things, but Vue has good things too and even React does.
|
| Never heard of Wiz before.
|
| Almost a year ago I created an Android developer account I
| believe it's called and paid the bill. The name on the invoice
| was wrong. I wanted them to update the invoice They responded
| with, "This is America, we do what we like" more or less. Ok, no
| problem, I have better things to do. Since I haven't published
| anything in almost 1 year, they're now threatening to close the
| account, I paid the $25 for.
|
| My adsense account, no new sites are being approved anymore,
| previously I could add any site without confirmation, even if it
| was new. I had a site that made them and me over 150k, but I got
| into a fight with my partner of that site and the main domain was
| shut down. I took the content and published it on another domain.
| Over 7 years of daily mp3 files and images. The 1st domain had
| adsense approval, the new one didn't. They didn't approve the 2nd
| domain. Talking to them is not possible.
|
| Google is spiraling downward. They're essentially cutting into
| their own flesh. Since Darth Sundar took over it's become
| progressively worse. All the wrong and used hostile decisions.
|
| I still use and like Go, but I'm afraid what will become of it in
| the future.
|
| It's unlikely I'll return to Angular. It's just too time
| inefficient and also slower compared to the other frameworks.
| mgechev wrote:
| >...but I HATE rxjs and the complexity of it. And the whole
| thing on top of rxjs, ngrx. You can't just simply take one
| value and compare it, no you have to use pipes and rxjs.
|
| We're working on making RxJS optional. In v17.3 `@angular/core`
| no longer has a dependency on RxJS. In the long-term we'll
| enable a path forward without RxJS for other core modules as
| well.
|
| That said, we're providing an interop package that enables even
| better RxJS support for people _who make the decision_ to use
| it.
| whalesalad wrote:
| Vue is the best framework I have ever used. I can't imagine why
| anyone would use anything else. Angular has gotta be the worst
| imho, perhaps Ember. There are big communities around these
| tools though so I guess the approach resonates with certain
| folks.
| knallfrosch wrote:
| Your post touches too many topics.
|
| But on RxJS, yes, it is conceptually complex. I never quite
| understood whether one should use
|
| - a container component with value-type @Inputs passed down - a
| service emitting an Observable and subscribing to that, then
| passing value-types into the template - an Observable as @Input
| - now Signals? (haven't used those yet.)
|
| Years later though I read a book on functional programming and
| the whole nightmare of arrays within Observables suddenly made
| sense.
| datavirtue wrote:
| Angular has gotten progressively better but after picking up
| Vue3 I dropped everything else and haven't looked back. It's
| like front-end sanity has arrived.
| pier25 wrote:
| This is great.
|
| Angular is getting partial hydration (seems automatic from the
| keynote but it's not clear) and deferred views which are like
| components that don't load until something happens (eg entering
| the viewport).
|
| Performance has increased considerably too thanks to the use of
| signals.
|
| Honestly I'm quite impressed. I wish Svelte had partial hydration
| but the team keeps arguing against it.
| benmccann wrote:
| We're not arguing against it, but simply haven't committed to
| doing or not doing it as Svelte 5 has been higher priority. We
| would rather be deliberative than introduce a feature where we
| don't have the developer experience fully thought out. We want
| to understand what the experience would be for Svelte users
| both with and without SvelteKit and have good guidance around
| the trade-offs of different rendering modes.
| pier25 wrote:
| > _We 're not arguing against it, but simply haven't
| committed to doing or not doing it as Svelte 5 has been
| higher priority._
|
| Please. This discussion has been going on for years Ben. Even
| before SvelteKit or Svelte 4 existed.
| pjmlp wrote:
| I wasn't even aware Wiz exists!
| refulgentis wrote:
| It's hard to ask this without sounding like a jerk: does this
| matter to anyone externally?
|
| When I was still at Google, the web dev I knew who was in touch
| with outside stuff, talked about Angular as if its day had passed
| mgechev wrote:
| Hey everyone, I'm working on this at Google and would be happy to
| answer your questions :)
|
| The tldr; is that we see a lot of similar requirements from
| developers across Angular and Wiz, so we're looking for
| opportunities to reuse work. Good example is the Angular Signals
| library that's now used in all the YouTube Mobile Web. In a
| similar way, Angular is bringing more fine-grained code loading
| that Wiz offers.
|
| Over time, we'll continue focusing on what's best for developers
| and incorporating the best from Wiz in Angular, and vice versa.
| At the end we can end up with one framework, or continue to
| coexist.
|
| In the next couple of weeks we'll follow up with a blog post that
| explains our plan in more details.
| skybrian wrote:
| I'm more familiar with Preact Signals. How does Angular Signals
| compare?
| mgechev wrote:
| Fundamentally they are similar to Preact Signals, Solid
| Signals, Vue signals, etc.
|
| We took some different trade-offs and listed the details here
| https://github.com/angular/angular/discussions/49683
| RunSet wrote:
| Question (you might need to pass this one up the chain of
| command):
|
| Was basic HTML gmail deprecated because users so overwhelmingly
| preferred slow, bloated UIs that there was no demand for an
| alternative?
| ktosobcy wrote:
| tbh - killing of basic html Gmail was the last straw that
| pushed me to other mail provider... I usually use imap but
| once in a blue moon I need to access mailbox via browser and
| regular Gmail client is just abysmal...
| mgechev wrote:
| We're building infrastructure for these products rather than
| the products themselves.
|
| I'll be happy to answer questions about Angular and our
| collaboration with Wiz :)
___________________________________________________________________
(page generated 2024-03-21 23:02 UTC)