Count of Aurelia git repos versus Angular, React.js

My boss is comparing the number of git repos of Aurelia, Angular.js and React.js to argue that it “would be suicide” to develop an open-source application using Aurelia because we’d have a hard time finding developers who want to develop or extend the application.

I have seen an argument somewhere that counting repos, in the case of Aurelia, is a biased, invalid measure of the adoption of Aurelia versus other platforms. Can someone please restate that case for me, if possible?

Thanks

1 Like

I think star counts as a whole aren’t representative of anything. I am a serial starrer on Github, I use stars as a means of bookmarking cool repositories and things I find, but it doesn’t mean that I use everything I star. Most of the time, I will star something and forget about it.

The reason that counting stars are an invalid measure of use (besides the aforementioned fact that stars !== usage), is because Aurelia is comprised of numerous packages. The common mistake is to assume that aurelia/framework is the main repository for Aurelia. In reality, Aurelia is a collection of packages.

  • Framework = 10,430
  • History Browser = 18
  • Templating = 107
  • PAL = 13
  • Router = 109
  • Route Recognizer = 21
  • Templating Binding = 27
  • Binding = 101
  • Templating Router = 22
  • Templating Resources = 53
  • Fetch Client = 56
  • PAL Browser = 18
  • Polyfills = 21
  • Bootstrapper = 73
  • Logging = 21
  • Event Aggregator = 50
  • Task Queue = 31
  • Path = 18
  • Logging Console = 15
  • Loader Default = 19
  • Loader = 25
  • HTTP Client = 56
  • History = 20
  • Dependency Injection = 140

This totals 11,464. Even though this might not be as big as other competing frameworks or libraries, it is not a true measure of success as I point out above. There are even more repositories I could add in to increase the count by a few more thousand, but it doesn’t matter.

As for finding Aurelia developers, any competent Javascript developer should be able to pick up the basics of Aurelia within a couple of days. There is great tooling, VSCode has a couple of plugins to help you with the syntax for templating and authoring. There are plenty of resources online as well, I’ve got a tonne of articles on my blog alone.

4 Likes

At this time, the Aurelia libraries have a total of 14,263 stars, with the Aurelia framework alone having 10,431 stars.

People often try to say that star count is a reason not to use something and that Aurelia doesn’t have enough stars. Under this same logic…no one should use .NET Core because the CoreCLI has less stars than Aurelia framework. Also, don’t bother with C#, because Roslyn has less stars too. Also, Mono has less stars. No one should use the Edge browser or Node.js with Chakra because ChakraCore has less stars than Aurelia framework. Don’t bother with Microsoft’s Cognitive Toolkit either. Less stars than Aurelia. Ruby developers shouldn’t touch Sinatra. It has less stars. Symphony CMS…less stars.

Stars are a lie.

6 Likes

Thank you guys! @EisenbergEffect @dwaynecharrington

That is great information. What my boss did was not to count stars but rather to count repositories.

I quote him:

There are almost no Aurelia devs. I did some basic google, this platform is almost dead.

Look at these:

https://github.com/search?utf8=✓&q=angular&type=
https://github.com/search?utf8=✓&q=react&type=
https://github.com/search?utf8=✓&q=aurelia&type=
angular, 343k repos, react 422k, Aurelia 3k

This is not counting stars, it is counting repos containing the name of the framework.

My boss is using the count of repos as a heuristic to suggest that developers are not adopting Aurelia nearly as much as the other two platforms, declaring Aurelia “[relatively] dead”. But is this data statistically valid? Does it really paint a picture of meaningful developer activity?

Aside from the response that Aurelia is easy to learn and great to work with, a developer, as a personal business decision considering his/her career path, would have to want to work with Aurelia, as opposed to other platforms that might seem (by the afore-mentioned heuristic presented by my boss) to offer more job opportunities.

How can one respond to this?

Thanks again!

If you count only repos containing the name of the framework, you will miss many project (and perhaps very big ones) written in the framework.

For instance, https://github.com/geoadmin/mf-geoadmin3/ is written in AngularJS and you won’t find any reference to AngularJS in the name of the repo, README or topics list.

Likewise, https://github.com/arenaoftitans/arena-of-titans is written with Aurelia but doesn’t contain Aurelia in the name of the project. But I put it in the topic list.

And how about all the closed source projects that can be written with the framework? You can’t search for them.

You may also have false positive in your search. Do all repos that contain angular/react/aurelia in their names are related to the frameworks? The names are, in my opinion at least, common enough to get you false positive. Perhaps that relying on google trends with Aurelia framework or Aurelia JavaScript would be better.

So I don’t think this count is reliable. That being said, I think that Aurelia has less developer using it than the other frameworks you listed. So yes, it may be harder to find developers. But it can also mean that you may get developers truly interested in the framework instead of ones that picked it up because it was made by Facebook/Google or simply is trendy.

In my humble opinion, Aurelia:

  • is a very good framework,
  • has a great communities,
  • integrates well with existing libraries so unlike many other frameworks, most of the time, you don’t need a dedicated project to use library X,
  • is built around web standards.

So if you love it and already have developers who want to use it, you can go for it.

Here are my thoughts, I hope they will help you.

4 Likes

I chose Aurelia to develop the next version of our application which supports a large part of the UK’s NHS based clinical research activity. We also have several installations in other countries. All of our work is closed source, so it won’t show up in any “who’s using Aurelia?” searches…

I found it difficult when trying to decide what framework to use because there are a lot, things are moving fast and you want something that isn’t going to be obsolete too quickly. To be honest, the best advice I have is to spend some time mocking up your app (or part of your app) in all the frameworks you’re interested in. When I did that, for me, it became obvious because Aurelia felt so easy and natural to use. Coming from a mainly ASP.NET MVC background may have helped - not sure, but we haven’t looked back. Speed of development is exceptional and the fact that you almost don’t notice the framework and can just concentrate on the code you’re writing is a joy.

Also, for me, it isn’t really about being an Aurelia dev, or an Angular dev, or a Vue, React etc. dev. I think if you’ve had any kind of decent exposure to any of these, you should be able to cope with any/all of the others. So in terms of future support, you could just hire javascript front-end developers who would hit the ground running. Obviously, I’m slightly biased, but I have nothing but good to say about Aurelia.

Hope that helps in some way.

5 Likes

As I think others have pointed out, these sorts of queries aren’t going to give you an accurate picture of what your boss is trying to understand. At Microsoft there was an entire team dedicated to running metrics on open source projects to try to understand this stuff. They’ve been working on it for a couple of years now and even with all that work, most open source developers inside the company don’t put much stock in what has been produced and recognize that it’s difficult to understand an open source project by looking at the available data today.

If your manager’s biggest concern is being able to hire devs to work on the project, then he should be fine. A good frontend dev, as already pointed out, should be able to pick up Aurelia very quickly, regardless of whether they’ve even heard of it before. One of the reasons we tried to keep Aurelia so close to the standards and so unobstrusive is so that it’s easy to pick up.

I should also say that being less popular does not equal dead. Aurelia is far from dead (so is Durandal for that matter). In some ways, we’re just getting ramped up for another big go.

5 Likes

Good replies already have been added to the conversation, but as someone who has been in the ecosystem since the very beginning in 2015, I have been fortunate enough to help out with many Aurelia applications and all of them closed source.

I can’t name names, but there are some big companies using Aurelia and those are just the ones I have seen. I am talking companies with multi-country presence. are using it to do some impressive things. The ecosystem might not be as big, but Aurelia has not failed me in the last three years.

How many frameworks or libraries can claim they’ve had no massively major breaking changes three years into their lifespan or had to revisit the architecture because of improper design (starting with Angular 2, the Angular team rewrote their router three times from the ground up, three times).

3 Likes

Aurelia is built on web standards such as JavaScript (ECMAScript) and WebComponents. This means that the pool of developer candidates is really anyone familiar with or willing to learn to use standards-based technologies. Many JavaScript developers are already familiar with the latest, and proposed, language features that Aurelia embraces, so would find them selves on familiar grounds with Aurelia.

This can be turned a bit upside down, when considering that Aurelia embraces the WebPlatform, i.e. web standards. So, this could be framed as aligning with the emerging capabilities of modern browsers, rather than promoting yet another framework and ecosystem in an already fragmented landscape.

4 Likes

image

4 Likes

My boss is comparing the number of git repos of Aurelia, Angular.js and React.js to argue that it “would be suicide” to develop an open-source application using Aurelia because we’d have a hard time finding developers who want to develop or extend the application.

Counting stars is a dumb heuristic, and your boss is overdoing it some, but he’s basically right. If you’re creating an open source project where your plan is to have other developers contribute heavily to the project, it will be easier to get those developers if you go with the largest possible community. Since he’s basically right, you’re going to have an uphill battle here.

The people you’re looking for is the intersection of people who want to contribute to your product and have the time/interest to devote to it and have the capability to do so. Increasing developer friction, especially to get over the initial hump, will impact those. You’re going to need to demonstrate that starting with a smaller pool of low-friction developers (e.g. those who are already fluent in your stack) will be outweighed by the benefits of using Aurelia.

Things that might be worth trying to show:

  • While you are looking for external contributors, the plan is to have the bulk of the work done by internal developers anyway, so the efficiency gained by going with Aurelia for the primary contributors outweighs the smaller expected pool of external contributors created as a result of that technology choice.
  • Having a barrier to entry is a good thing, because a smaller pool of more invested external contributors fits the needs of your project better (vs managing gobs of PRs from a million drive-by contributors). If learning Aurelia is enough to scare someone off, they probably aren’t a serious contributor and losing them isn’t a bad thing.
  • Superior functionality of the end product is a more important concern than contributor count. Expect to then need to demonstrate that Aurelia will provide that superior functionality.

From my perspective your boss is doing the right thing - he has legitimate concerns about the viability of your technology choices, and you’re not providing him with answers that allays those concerns. Make sure you’re making a case for the superiority of the technology choices for your application separate from your personal interest in using that technology. If you can’t, then it’s not the right tool for the job.

5 Likes

It would be nice to get permission from any large companies using Aurelia, so we could list them on the web site, which at least might help people break over the adoption barrier. Possibly also have somewhere for people from companies to submit this information.

2 Likes

Yeah… 100%
My educated guess that happy users of framework are those dark matter developers. Who don’t even need any support.

2 Likes

It also depend on how fast you need to get the mvp done. If you want to hit the ground running, I would recommend using react, because of the huge amount of community components (datepickers, calendars, etc). with aurelia you’ll likely have to either have develop these common components yourself or, God forbid, use jquery plugins.

1 Like

There are so many great non jQuery based solutions out there that it should be easy to avoid nowadays. Flatpickr is awesome for example!

2 Likes

What is the current story around fast prototyping in Aurelia, particularly with respect to readily available and easily integrated common components? @dwaynecharrington

It all depends on what you are prototyping, to be honest. I have a great example, I am working on a blockchain based web application and to validate the concept it needed to have these features for people to use it and provide feedback:

  • User authentication (login, register, social login)
  • Basic views; list of items, ability to add new items
  • A multi-tiered submission screen (multi-faceted taxonomies, a map component, dropdowns, checkboxes, inputs, autocomplete, date picker)
  • A responsive grid system
  • Offline support

Authentication was handled by Firebase. Basic views were easy to create thanks to Aurelia’s convention approach and CLI scaffolding. The submission screen used as many community plugins and third-party libraries as possible.

Because Aurelia is so unopinionated and not as “frameworky” as other choices, you can use any third-party Npm module with it. I think the biggest mistake people like @obedm503 make is assuming you need to use Aurelia specific plugins when you don’t.

There are a few of the most common plugins out there for grids, Google Maps, sortable data grids and so on for Aurelia. There is definitely no shortage of plugins as well as bridges for Bootstrap, Material design, etc.

Using Bootstrap as my grid system and form input library of choice (others include Foundation) that gives you over 50% of what you need for a prototype (a prototype is an undesigned technical proof of concept). Heck, Bootstrap even comes with Javascript components for many things as well.

That blockchain concept took me one solid day from start (Aurelia CLI using Webpack and TypeScript) through to something usable people could get their hands on. I typed as little as possible and let the CLI and libraries do the heavy lifting.

Other libraries like React require you think harder, and I disagree that React is a good choice for prototyping. The whole point of a prototype is that it should be built as quickly as possible, you need conventions over configuration to do something like that.

3 Likes

I just made a discovery that I can not not share.
I figured out why Aurelia is hard to grasp.
It actually requires some knowledge of javascript. :wink:

Author of this question had to dump Aurelia…
Although I think it was the other way around

image

1 Like

My personal experience working at a large company: senior developers were successful in getting Aurelia approved on technical grounds while it was still in beta. Fast forward to today, EVERY vendor that comes in to give recommendations & project quotes to management push hard for switching to Angular. I am constantly having to defend the choice and its quite tiresome. If I had it to do over again, I’d do the same thing because Aurelia is better aligned with our technical roadmap, but I didn’t think it would be such a pain to go against the grain. Best of luck!

4 Likes

@jpray can you share the details? company? project?
There is an invisible effort to put something up as “used by…” list of company names/businesses
success stories even… maybe…

2 Likes