Blog
![Two lego bricks](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659121324/rangle.io/blogs/creating-angular-2-style-components-using-angular-1-part-2/feature-photo.jpg)
In Part 1 of this blog post we demonstrated how to create a simple Angular 2.0 "style" component using Angular 1.x and TypeScript. We did not focus on different component types that can be created when writing our applications and how to structure your applications with them. We touched upon different component types in a previous blog post, but the goal of this post is to clarify and classify those types a little further and provide a concrete example
![Nick Schrock, Lee Byron, Christopher Chedeau](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659121323/rangle.io/blogs/reacts-expansion-3-interviews-with-facebook-engineers-at-react-rally/feature-photo.jpg)
After sponsoring React Rally in Utah, and ReactEurope in France this summer, there's one thing that’s extremely evident: The ReactJS ecosystem is moving very quickly.
![Lego brick](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659121322/rangle.io/blogs/angular2-components/feature-photo.jpg)
As Angular 2 looms in the horizon, it is easy to be overwhelmed by the upcoming transition. An important topic emerging for many developers is how to align existing applications, or write new ones, using Angular 1.x to ensure the transition is smooth, and to minimize refactoring when Angular 2 comes out. After all no one wants to write an application today that will be obsolete in a year.
![A cup with Gulp written on it.](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659121321/rangle.io/blogs/angular-gulp-bestpractices/feature-photo.jpg)
Update: Times have changed a lot since 2015 and while a lot of the gulp patterns in this post are still valid the tooling landscape is quite different. Today we leverage gulp as a "general purpose automation" tool that's well suited to projects with complex and unique build requirements. For web application frameworks in most cases we recommend your respective framework's CLI (every big framework has one) or a tool like webpack.
![Angular logo with a bug](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659121575/rangle.io/blogs/unittests/feature-photo.jpg)
The development of Angular 2 is on its way with much talk, hype, and fanfare. Surprisingly, there is not much being said about unit testing. As a responsible developer, you have undoubtedly already written a giant unit test suite to achieve ‘near perfect' code coverage, and I'm here to let you know there is no need to throw that all away! While Angular 2 is currently in ‘developer preview’, implying that nothing serious should be built with it currently, the Angular Team has already created a giant wealth of unit tests and a custom testing setup. Unfortunately, it is not easy to set this up for yourself. So this post should help you get started.
![reacteurope Rangle photos](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659121574/rangle.io/blogs/reacteurope/feature-photo.jpg)
This month, Rangle had the pleasure of being the lead sponsor of ReactEurope 2015 in Paris. Having used ReactJS and Flux architectures in about a third of our projects in the last six months, we were very excited about this event… And what a fantastic event it was: being well organized, with an amazing roster of speakers and talks.
![Rangle logo](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659121573/rangle.io/blogs/write-angular-2-style-code-now-typescript-decorators-components-and-flux-for-angular-1-x-applications/feature-photo.png)
As the Angular team is making progress towards a “beta” version of Angular 2, it’s time to think seriously about your transition plan. At Rangle.io we have been looking into this topic for a few months now and would like to start sharing what we’ve come up with.
![JavaScript icon](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659121570/rangle.io/blogs/javascript-teaser-fibonacci/feature-photo.png)
Fill in the missing line of the following code that implements a function returning the next Fibonacci number every time it's called.