component-party.dev icon indicating copy to clipboard operation
component-party.dev copied to clipboard

Add Aurelia 1/2 components

Open glyad opened this issue 2 years ago • 12 comments

I'll be very glad to contribute on it...

glyad avatar Aug 01 '22 15:08 glyad

Why Component Party would support Aurelia ? In which use-case Aurelia is better than other frameworks ?

matschik avatar Aug 01 '22 21:08 matschik

Aurelia is a production ready framework thats fun to use. Why not allow contributions for aurelia samples in Component Party?

green3g avatar Aug 05 '22 22:08 green3g

There are so many new JS Component frameworks production ready every day. If we accept any framework, this would be difficult for the following reasons:

  • There would be too many frameworks to display, it hurts UX
  • Niche snippets to maintain, don't got the knowledge to accept PR's

Since you love Aurelia, sell us why we need to add it. Why I would use Aurelia instead of frameworks already in Component Party ?

React, Vue, Angular are very popular and used in many companies. Svelte is gaining a lot of popularity, higher performance than R/V/A, better DX. SolidJS is gaining a lot of popularity, higher performance than R/V/A, better DX than React. Lit is using web components and is popular. Ember is popular and used quite a lot in companies, even new ones. Alpine is perfect remplacement to jQuery and light VanillaJS. Qwik is gaining a lot of popularity, and aims for the fastest TTI.

matschik avatar Aug 08 '22 08:08 matschik

Dear @matschik,

The answer to your question is in your answer already. Ye-ye, really! I want to thank you for introducing me to Alpine. Yes, it was my first acquaintance with Alpine. Why not introduce more people to Aurelia? Why not?

glyad avatar Aug 08 '22 09:08 glyad

Please re-read my previous message. Component Party goal is not making frameworks popular. It's about understanding other frameworks from a framework knowledge. It's a tool, not an ad.

matschik avatar Aug 08 '22 11:08 matschik

@matschik, if this is about a tool "for understanding...", but isn't just another tool for unfair competition, then I don't see a reason to ignore an additional framework here, which is (BTW) more and more used.

As you can see, I have started to work on samples for Aurelia v1. I just wanna be sure that my work is not in vain. In other words, please confirm, if you're OK with to merge my PR, when it will be ready to merge with all my respect to contribution rules.

Thank you in advance!

glyad avatar Aug 08 '22 17:08 glyad

You actually forcing me to add Aurelia to Component Party. Component Party is not about competition, it's about helping people. I can't accept this type of behavior. You don't answer a single one of my questions. Please find something else to contribute. I hope another Aurelia contributor will be more gentle and will answer my questions. If I accept every framework to Component Party, it will transform to a monster to maintain.

matschik avatar Aug 09 '22 10:08 matschik

Dear @matschik,

I apologize for my tone. I didn't mean to offend anyone here. I thought @roemhildtg had already answered your questions. Anyway,... Aurelia is not a dead framework! It's quite used. Yes, Aurelia has a small community, but it is a very high-quality community. The Aurelia team is currently working on the Aurelia 2 framework and side-by-side comparison between implementations of same component will help people to migrate from Aurelia v1 to v2.

You wrote:

Please find something else to contribute.

Dear @matschik, if you think that I am here because I simply have nothing to do, you're just wrong. Trust me, my consulting hour is worth well enough. I'm here, because I think it's unfair not to include Aurelia in the list of frameworks on your site.

Anyway, let's stop fighting. Let's leave all our misunderstandings behind us and let's try to collaborate on this project. Your idea for this site is amazing! You wrote "If I accept every framework to Component Party, it will transform to a monster to maintain". OK, to the best of my ability, I'm ready to help make this project better and I'll try to be more gentle. ;)

Best Wishes, Sincerely yours, @glyad

glyad avatar Aug 09 '22 12:08 glyad

Ok so here are my questions:

  • In which use-cases Aurelia is better than other Component Party frameworks ?
  • What main innovation does Aurelia bring ?
  • Why do you use Aurelia instead of other frameworks ?

Please answer, this is your last chance

matschik avatar Aug 09 '22 12:08 matschik

I think I was misunderstanding - I will try my best to provide some answers to those questions:

What main innovation does Aurelia bring ?

  • Convention over configuration:

When you build a component, you simply write a typescript class. All of your logic lives in a plain TS file. You can test this file using any testing tool you prefer. Aurelia then links this up to a html template to enable one and two way binding.

Why do you use Aurelia instead of other frameworks ?

Aurelia provides a complete framework with a lot of the capabilities you need in a production application. Routing, validation, dialogs, are all provided out of the box. It is also done in a very clean Typescript class driven approach so it is very easy to learn and is customizable for advanced cases. It provides a simple dependency injection container to help with separation of concerns for testing.

Aurelia also favors convention over configuration so a basic app or component requires almost no boiler plate. A plain html file and typescript class is all you need to add a new component.

These features make aurelia a strong contender because:

  • Angular: while similar to aurelia, angular takes a lot of configuration and time to learn how to use. Aurelia is simpler while providing a lot of the same benefits.
  • Vue, React, Solid: Aurelia provides a more complete framework than any of these. The community has developed plugins like router, state management, etc. but its not integrated into the framework.

In which use-cases Aurelia is better than other Component Party frameworks ?

  • Angular seems to be dropping in popularity. source Aurelia offers similar features but in a simpler (less boilerplate) package
  • Vue, React, Solid: If you want to implement an enterprise project with a complete set of features, you'll need lots of additional plugins or addons to build. With aurelia- it all comes in a single package.
  • In general, aurelia stays out of your way. Most of your code is not aurelia specific code, but just plain typescript. For the HTML templates, they are very similar to the ES6 template syntax with ${variable} tags.

Let me know if I'm off on any of this, or there's something that would require more clarification.

green3g avatar Aug 09 '22 12:08 green3g

OK, @matschik, I accept the challenge! :)

In which use-cases Aurelia is better than other Component Party frameworks?

IMHO, the greatest advantages of Aurelia are following:

  • Really, Aurelia is suitable for any purpose, excepting, maybe, the development of super-compact web applications (embedded web servers)
  • Little to no framework intrusion, so developers can focus on their app, not the framework.
  • I have developers experienced in different frameworks (one is angularist, other is reactist, etc.). The shortest learning path. To start to develop using Aurelia you need really basic knowledge of HTML and JS or TS. If you have it, you need 1-2 days to start the development of an SPA (it may be an Electron or mobile app as well).
  • I develop Web Apps occasionally. Aurelia is truly unobtrusive framework. It uses plain standard JS/TS and HTML. As a developer, I don't need to remember custom languages introduced with another frameworks. For example, data or event binding: all of HTML attributes, incl. custom made, are bindable: <button disabled.bind="some-view-model-property" click.delegate="onClick()"...>.
  • I need to reuse components developed with jQuery, React, and components developed using another technologies. It's simple to reuse standard WebComponents (incl. React components) in Aurelia app. It's possible to reuse Aurelia components as WebComponents too.
  • Why choose Aurelia?.
  • 4 reasons to use Aurelia.

What main innovation does Aurelia bring ?

For example, it's the only framework that provides real DI container: life-time management, scopes, and registrations by interface. It works both on client and on server side as well.

I can't say more, than already said on this: Technical Benefits.

You can find many comparisons in the WEB:

Why do you use Aurelia instead of other frameworks ?

Working as the R&D manager, architect, I touch code occasionally, especially front-end code. I can't spread time on (re-)learning of new version of Angular or React. I need a tool that is simple as HTML and powerful like as another (randomly chosen) framework. I think that Aurelia is a natural choice for me.

I developed more than 10 projects using Aurelia and made our clients happy with it. That's all! 😸

glyad avatar Aug 09 '22 16:08 glyad

Hi @matschik , I can here after seeing your post on the aurelia matrix/gitter channel

I develop primarily with Django/Python for server side stuff, an Aurelia for the frontend. I was a big fan of Angular v1 when it came out. I made the difficult jump to Angular v2 and continued using it until v9 and beyond. I tried Vue, and was attracted to the simplicity. I also did some things with React, Alpine, and a bunch of other frameworks.

When I discovered Aurelia v1 I immediately felt a home. The move to v2 was easy and brought a lot of benefits.

What main innovation does Aurelia bring ?

It does not make you learn any new languages or DSLs or cryptic template tags. Its all standard typescript and mostly standard HTML, CSS, Sass etc.

Why do you use Aurelia instead of other frameworks ?

Learning Aurelia has made me a better Typescript/Javascript developer the same way that Django has made me a better Python developer. I cannot say the same for my experience with Angular, Vue, or especially React.

Also, as with Django, the help you get from the community is great and the quality of the answers is always excellent.

In which use-cases Aurelia is better than other Component Party frameworks ?

I was using Angular to develop a very complex Admin Web App. I had to migrate to v2 because v1 was being phased out. That was a huge effort, i had to continue migrating every year, becuase v4 introduced breaking changes, by the time v9 came out I gave up migrating Angular and migrated to Aurelia v1. The migration to Aurelia reduced the complexity of the code immensely. Migrating later to V2 was no problem.

If you know your project is going to be big, use Aurelia. Hire good typescript developers, they will feel at home in Aurelia.

If you choose to feature Aurelia on Component Party I would be willing to contribute.

alexgustafson avatar Aug 20 '22 14:08 alexgustafson

+1 for willing to contribute.

A lot is said in the previous posts. Simplicity and pure, yet full-featured. In simple HTML, Typescript and SCSS. Plugins available but not needed. That's Aurelia for me.

[Edit] Is it perhaps an idea to add a few more difficult and framework specific examples to show a bit more about Aurelia? The chapter 1 examples are (and should) be easy for any framework. What about the examples for chapter 2 templating or chapter 6 form input?

mroeling avatar Dec 29 '22 23:12 mroeling

WIP: https://github.com/mroeling/component-party Feel free to comment or assist.

mroeling avatar Dec 31 '22 17:12 mroeling