The cute whale is Docker's icon (https://www.docker.com/), the atom looking thing is ReactJS (https://facebook.github.io/react/) and the pink thing is Aurelia (http://aurelia.io/). Much hip, many fancy.
The docs are a better place to look. Check out the getting started page. There's some code samples so you can see what it looks like. (They work fine on my chrome 48)
Aurelia is meant to be a "forward facing" angular competitor. It's from the same group of people who made durandal, including Rob Eisenberg, who was also member of the angular 2.0 team for a while. It encourages use of JSPM and ES6.
I haven't paid it much attention since IE8 support is off of the table and I'm more interested in the react/mithril/riot/vue way of doing things, with much less framework.
Save yourself the headache and try Aurelia. It wont save you from the flaws of the js ecosystem but is much easier to learn and is managed and released in a more professional way.
That's ok to do that your first 5 years, get an idea of what you enjoy and what you don't. BUt after that (and as soon as you know) I would focus.
I focus strictly on HTML5, CSS3, JavaScript. I learn the modern frameworks like Angular, Aurelia, Backbone, Ember.
Being skilled in Front end development can pay pretty handsomely.
As does backend as well. For backend I would focus on Node.js (learn ES6/javascript) and a document database like Mongo+mongoose or Rethinkdb+Koajs.
The MEAN stack has been pretty popular, but as new versions of frameworks (angular, aurelia.io, etc.) start to leverage ES6 using Babel transpilers, MEAN is not the 100 gorilla anymore, at least not for long.
There's also Meteor if you want a working app in a matter of minutes. Its very similar to other frameworks on the front-end and is pure javascript on both the server side and client side.
I have played with all of this crap :)
I like to stick with what I think will keep me employed for the next 5 years and I still think it's javascript/es6 and node/angular or one of the next generation frameworks on the rise. I like http://aurelia.io, KOA, and RethinkDB right now, doing a prototype in it to see if its something I want to focus on -- I think these jobs are still a year out or so.
I tend to only work officially on Front-end though, as I've found working up and down the stack can be very taxing on my soul especially under pressure and working w/ people who know it 10x better than you can be frustrating. I only do fullstack on my own projects, that way I can work at my own pace and not feel the need to slam some half-assed shit together at the last minute to meet a sprint deadline.
It is never a good idea to connect directly to your database from the front end...
If you mean connecting to your NodeJS server, then I suggest using a framework like Express or Restify on your server to serve up the data to your client using REST.
Aurelia has two libraries for handling REST on the front end, aurelia-http-client and aurelia-fetch-client.
Both of which have documentation found here
Hope that helps.
That's not true at all.
In your getting started guide, you have both inline javascript (to initialize jspm in index.html) and a custom event handler with inline javascript (in app.html, there's a <form submit.trigger="submit()">
). It later interpolates even more js code, e.g. <li repeat.for="row of router.navigation" class="${row.isActive ? 'active' : ''}">
How's that not putting javascript in html?
I've just recently moved to Aurelia, which is a ES6/7 Javascript framework that is a lot like Angular 2. The difference between the two is that Aurelia follows Javascript standards, like <p>${firstname}</p>
(used in template strings) while Angular 2 has derived quite a bit and still uses {{firstname}}
. Additionally, Aurelias repaint is a lot more efficient than Angulars and Aurelia is more developer friendly, although there are parts of the documentation that needs some work. I used to work with Angular 1.x so you could say I'm biased in Angular 2's favor, which shows how good Aurelia really is. Both are in public beta.
In conjunction with Aurelia I'm using Meteor which runs on Node.js. Automatic data sync (Reactivity) & isomorphic code (code that runs on both client & server). It has a lot of features like client-side MongoDB, super simple Cordova integration to deploy to iOS & Android, hot code push (automatically update client with new code when re-deployed, even native users so they don't need to update their app on the app store) & much much more.
For those who dislike MongoDB there's even support for Redis, Neo4j, PostgreSQL, and others.
> check out aurelia.io if you aren't familiar.
If we aren't familiar, how could we answer your question?
What's your experience, have you used any other MV* frameworks before (Angular, Backbone, Meteor, Ember, Etc.)
In general, http://PluralSight.com is the best at what you're looking for. Though I don't know if they cover this specific framework just yet. May have better luck just looking on YouTube.
> Bootstrap was written to export its functions to a global '$' variable
Doesnt it conflict with jquery then? Or does it extend it?
> The content of this blog article is mostly identical to the Contact Manager Tutorial.
Now that's a useful link
> Aurelia UX is in a very early state. Most (if not all) of the components are still yet to be implemented. However, many features are ready and available for use today.
> This is a pre-alpha release.
It's just a glimpse of what's to come. If you're looking to check out Aurelia itself (not its UX framework) then the docs are a good place to start http://aurelia.io/hub.html
Overall, I'm seeing where Aurelia is coming from - aurelia feels like a nice Angular 1.x with less boiler plate and the ES6 focus throws require.js right out. The article here made me think about JavaEE and Spring. That's not a good thing.
Angular or React. Angular is backed by google and they are working on v2, and React is backed by Facebook.
Knockout is/was ok, its not a framework just a binding tool and worked well but its not used in favor of angular/react. Backbone isn't a front end / UI tool and also not used much anymore.
The 3rd option if you don't go Angular/React would be Aurelia (http://aurelia.io/). The main guy behind it is very smart and he created Caliburn.Micro for .net and Durandal (used knockout + others for a full front end framework) before Aurelia. He even helped write part of Angular 2 before leaving due to architectural design differences.
So Angular, React or Aurelia are the best bets.
See what you like best, and I'd recommend just doing Web API and not trying to do MVC (Razor) backend, just plain HTML.
Also check out Typescript as it is amazing and will really help you do your JS correctly and avoid typos / passing wrong parameters and general development speed.
I used Aurelia. It's the leading next-gen web framework. I'm a part of the team and a big reason for this project was to learn and practice using Aurelia. Give it a look, and if you need help shoot me a question in our Gitter channel!
I'm not exactly sure how critical to be. You've obviously worked very hard and to put together a framework by yourself is a huge task. Congrats on that as an accomplishment.
Heres what I am missing from your site though. The big why. Learning a new framework is a huge commitment. Not really because its hard to learn a new framework, but because everyone at this point has already found a framework they're comfortable with. You list features, but theres already well establish frameworks that do that stuff already. The one big difference that igaro does is shed html. Which its not really shedding, but just constructing and manipulating with js. It reminds me a lot of react w/o jsx. But even though you do this, I don't know why its good. If performance is the only answer, I need to see some convincing arguments (comparison, perfs, etc).
Maybe look at http://aurelia.io/. It is a new framework which looks like it has some serious potential. I've never tried it out, but I will based off of what I see. The site just looks clean and separated.
Also, and I can't believe i'm saying this, but maybe you need to have the boilerplate TODO example. It provides people with a reference point how to interact with your application. It also shows that the framework is able to work well with user actions.
Just some of my thoughts. Keep up the good work.
It's proposed syntax for ES7, and is already supported by transpilers like Traceur and Typescript (and probably Babel too, by now).
If you take a look at this, I believe it would be safe to assume the bottom syntax would transpile into the equivalent of the top syntax. The difference is that the logic will rest on top of the property instead of buried inside your constructor. It's really just syntax sugar. Useful sugar because it improves readability (in my opinion, anyways), but sugar nonetheless.
Here is the actual code behind the @ensure decorator: ensure. Note that it is an exported function that returns a callback that sets _validationMetadata on the target.
You can also compare @inject with the static inject() examples throughout the code. Similar transpilation is going on there.
It's going to smash Angular 2.0's face in with a brick.
Angular+Firebase will be a popular toy with the Google machine behind it but this will be the pro choice.
Cue Angular fanboi downvotes.
I wrote a great primer for writing AngularJS apps, go ahead and read it.
It has additional resources at the end. And just to toot my own horn, the guide got featured on tons of sites and even TeamTreehouse's weekly podcast.
But anyways, a lot of people have a lot of opinions about Angular so let me help you out real quick:
Good luck! :)
Oh, lastly, check out Aurelia - similar to Angular, based on Durandal, pretty damn cool :) very future-thinking
True, and don't get me wrong I really like Durandal. I'm just saying the original developers behind it are not working on it anymore and focusing all their attention on Aurelia.
I'm a software architect and at this point I wouldn't dedicate any time towards Durandal because the project is basically stagnant. All the goodness there will resurface in a new shape under Aurelia. So if you liked Durandal, you should be looking at Aurelia.
> aurelia always searches for the template under the same name as the file name of the component
Not quite. By convention, aurelia will do this, but it is possible to change this behavior: http://aurelia.io/docs.html#view-and-view-model-conventions
One interesting way to get some exposure to ES6 is to mess with http://aurelia.io/ That is Rob Eisenberg's new framework (he was joined up with Angular 2.0 for a while but split back off). The framework itself is written in ES6 using the modules and runs on top of jspm, gulp, babel, etc. The sample project has everything set up already to use as a base for your own things.
> I'm not convinced SPA is a good idea but I'm considering looking at angular 2 but I don't see any information nor a release date.
Go one better, Rob Eisendberg designs great archtecture. No mess of scope crossing variables, everything in it's proper place. Harder for developer to design poor archtectures that go around in circles as things aren't a hack from the ground up.
ES6 generation stuff, not ready for prime-time.
Note that in this future a javascript model, is a javascript model, is a javascript model. Frameworks become less meaningful and code more portable.
Rob's various UI frameworks are pleasure to work with. http://aurelia.io looks exciting and he has a history of supporting his libraries for a long time.
However, Durandal supported older browsers, will aurelia do that too ?
Okey, thanks, that makes sense I think. I will have to read more about those terms.
What I referred to with HTML behavior was this chapter in the documentation: http://aurelia.io/hub.html#/doc/article/aurelia/templating/latest/templating-html-behaviors-introduction/2 Where is says things like:
> HTML Behaviors are how you extend HTML with Custom Elements and Custom Attributes in an Aurelia application. Custom Elements are, as their name suggests, their own element in your markup.
And then talks about how they tend to have a view model, which sounds a lot like the chapter on components http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/creating-components/1.
But it makes sense as you say that components is a much more general concept.
You might want to use the Meteor Vue project.
For what it's the React library has a narrow focus, in terms of what it does. A framework like Vue or Aurelia will offer much more complete picture and cohesive developer experience, perhaps even being more standards oriented.
When starting your app, you don't need to focus on code scalability and resort to architectures like React/Redux. It is worth developing your app using a simple framework, so that you can quickly validate your idea.
> Seems a little bit complicated
It is, needlessly. To it's detriment and those who attempt to use it.
> i decided Im choosing Angular 2
There's ya problem.
Seems you haven't finished deciding and have made note of some of it's major issues as an architecture.
Have a look at Aurelia or something.
I downloaded the ES 2016 Kit at the top of this page: Getting Started tutorial
I tried doing it twice in case something was downloaded or unzipped wrong, but it's the same issue.
I did just finish a lesson on node... could that have changed the default node server on my machine?
http://durandaljs.com/
http://aurelia.io/
> Anyway, we got a consultant and it was suggested that we should use more advanced framework for the coming months. I like Angular, but it turns out that framework 2.0 is going to be released soon and it won't be backwards compatible.
More advanced? With a fixed version coming out which won't be backwards compatible for very good reasons? Consultant or script-kiddy??
> Is this a good bet?
No.
> should we stick with Angular 1.4.7?
No. It's not very well put together, a form wizard hack on a hack on a hack, squeezed into a new role.
Hey, Syringe looks pretty cool, nice use of generics to ensure type-saftey. Not sure if I will ever get round to creating a full DI container - Aurelia looks like it's heading in a great direction!
It's built on the Aurelia platform (http://aurelia.io/) which is still in pre-beta. At the time I made the game, a few months back, Aurelia didn't have bundling yet, so it is still loading its dependencies as if in a dev enviornment. On my task list for my next sprint is to enable bundling for a 1 or 2 second load. Thanks for the feedback!
Better question, why would you go with Angular?
> most industry-standardous
Nah, just google = big market.
> Any suggestions?
http://durandaljs.com/ > Angular 1
http://aurelia.io/ > Angular 2
> I really just want to get away from framework specific code ... move further towards vanilla JavaScript code
Believe the future is framework agnostic viewmodels in plain javascript.
http://durandaljs.com/documentation/Binding-Plain-Javascript-Objects.html
http://aurelia.io/
Generally I agree with that. Given that the Angular 1 -> 2 migration is not going to be trivial, it makes Aurilia interesting, as it supports one-way, two-way and one-time binding.
> 1.x is known to be superseded by Angular 2.x
I didn't like Angular architectural layout, too much scope crossing and backwards inheritance. Also not sold on the idea of an infinite loop being good way to observe changes in objects and update UI.
For me Durandal must be part of the answer.
The Observable plug takes care of stripping down javascript models to native objects transparently wrapping the Knockout extras.
http://durandaljs.com/documentation/Binding-Plain-Javascript-Objects.html
Some pre-aurelia guidance for future proofing: http://eisenbergeffect.bluespire.com/preparing-for-durandal-nextgen/
For an evergreen approach: http://aurelia.io/
A Durandal app with observable plugin should be fairly straight-forward to port to Aurelia, templates would be the main change, models wouldn't need too much work.
> Is angular suddenly a bad investment? No, it just hasn't become a good one yet.
If this is true, then it sure seems like it is taking a while to become a good one. Maybe this is saying something about Angular as a project, Eisenberg's response (viz. aurelia), or big front-end frameworks in general.
In your opinion, what is best to invest in for front end dev?