From the Trenches of the Enterprise Software

Yakov Fain

Subscribe to Yakov Fain: eMailAlertsEmail Alerts
Get Yakov Fain: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Latest Blogs from Yakov Fain
Just read this article about the recent GitHub Open Source survey revealing that 93 percent of people reported being frustrated with “incomplete or confusing documentation”. While I definitely agree that good documentation is key to… More
We started receiving requests for teaching an advanced Angular workshop. My colleague Anton and I started preparing the courseware and are planning to offer such a workshop this fall. Below is a draft of this… More
This is a list of presentations and workshops that Yakov Fain offers in 2017. If you’d like to invite Yakov to run any of these talks/workshops at your organization, please send an email at training@faratasystems.com.… More
This year I already ran about ten Angular workshops and made several presentations at various conferences (e.g. DevoxxUS, DevNexus, BuzzJS, JEEConf). Over the last 20 years, I’ve been running workshops on different software but I… More
I run public and private training pretty often, and the question about the class size often comes up. In this write-up, I’ll share my experience in teaching groups of people of various sizes and the… More
Yesterday, I was a No Show at one of the FREE webinars that I registered for. To be honest with you, even when I was registering for this event two weeks ago, I was not… More
I’ve been using Java generics for years, and when I saw their syntax in TypeScript, I simply put a checkmark in the list of TypeScript features that I already know and understand.I was wrong. Let… More
Yesterday, I was running yet another Angular workshop. After explaining how to install dependencies using npm, I show how to use Yarn (see this blog), a faster alternative to npm, and suggest that the students… More
You may need to have an Angular project that has multiple apps so you can run the build of a particular app, say depending on the customer you’re preparing the build for. In my case,… More
Over the last several years, the term “reactive programming” became popular in many programming languages. Reactive Manifesto was published although it gives a rather generic definition of reactive systems http://www.reactivemanifesto.org. Yes, an app should response…...
Angular 4 comes with some useful changes in the router. Let’s take a look at the changes in receiving parameters by a route and in the CanDeactivate guard (see here). A route can receive the… More
As of the latest Angular CLI beta 30, the command to install Angular CLI looks as follows: npm install -g @angular/cli To get rid of the old version of Angular CLI and install the new… More
In the upcoming six months of 2017 I’ll be speaking at the following conferences: 1. BuzzJS, New York City, January 27, 1 talk 2. DevNexus, Atlanta, February 22-24, 2 talks 3. DevoxxUS, San Jose, March… More
TypeScript is a superset of JavaScript and over the last year it’s gaining popularity by leaps and bounds. Angular 2 and RxJS 5 are written in Typescript. I believe about a million of developers are… More
The Angular 2 framework now supports semantic versioning, and it was announced that major upgrades (with breaking changes) will be released twice a year. In particular, in March of 2017 the version 4.0.0 will be… More
Manning is planning to release a free book sampler that would include chapters from different books covering modern Web development process. They asked me to select books/chapters and write a short intro, which I did… More
I decided to write this blog after reading the post “Dear JavaScript” by James Kyle. In short, James write about how the anger and negativity in some posts/comments hurt people who work tirelessly developing open… More
Our company, Farata Systems, offers two online hands-on workshops. Each workshop runs for 12 hours over 3 or 4 online sessions.   1. Developing Web Apps with Angular 2 and TypeScript. Essentials. 2. Developing Angular… More
In my blog about passing data to routes I mentioned that you can subscribe to parameters changing over time. In this blog I’ll show you how to do it by implementing master-detail functionality using the… More
In 2017 I’m planning to speak at several conferences related to development of Web applications with the new Angular 2 framework. Below is the list of my presentations (each one is 90-min long). All of… More
Initially the entry barrier into the world of Angular development was pretty high because of the need to learn and manually configure multiple tools. Even to get started with a simple application, you need to… More
So a child component needs to pass some data to its parent. I use TypeScript and in this blog I’ll show you two techniques: events vs callbacks. Emitting events The technique with emitting events is… More
Angular 2 CLI is a scaffolding tool and code generator that finally can be used for the real world projects. It saves you a lot of typing and spares you from worrying about config files… More
Angular 2 framework will become a complete platform for developing Web apps when it’ll offer a library of rich UI components. Angular Material 2 currently offers 16 UI components, which is not enough for commercial… More
If your team is interested in a hands-on, in-depth exploration of how to develop web applications with Angular 2, I can run a two or three day workshop in your organization. Participants will gain practical,… More
Our company SuranceBay developed a platform for the insurance industry, and most of the UI for this system was written using Apache Flex framework (formerly Adobe Flex). Flex is an excellent framework for developing Web… More
Angular 2 is about to be officially released (most likely it’ll happen at the AngularConnect conference on September 25, 2016). The current version of of Angular is Release Candidate 6 and I’ll describe how to… More
I decided to write this blog after reading an excellent comparison of AngularJS and Angular2 posted on our book’s forum. But today I’d like to talk about another aspect: how Angular 2 is being marketed… More
In the previous blog we learned that a child route is represented by a URL that consists of parent’s and child’s segments. Our small single page app had a single tag <router-outlet> where Angular would… More
How a programmer start learning new language or a framework? Right, by writing the Hello World app, which just prints a greeting. If it works, this means that you used the proper syntax and the… More
Over the last year I spent a substantial portion of my time writing a book “Angular 2 Development with TypeScript”. I wrote it with my colleague, Anton Moiseev. We are already working on real-world projects… More
Angular 2 is getting more and more stable. As of July of 2016 it reached the version Release Candidate 4 and I expect to see the official release of this framework not later than in… More
Disclaimer: I’ve been writing for many publishers and Manning’s process of book publishing is the best I’ve seen so far. My colleague and I spent a year writing the book on Angular 2. At the… More
The current version of Angular is Release Candidate 1. This version changed the way how the framework is distributed – it comes as a set of scoped npm packages now. Any imports of the Angular classes will be done from @angular instead of angular2, for example: import {bootstrap} from ...
In Angular 2 a parent component can pass the data to its child via binding to the child’s input parameter marked with the annotation @Input(). I’ll blog about it later, but you can see how it can be done in my blog on implementing the Mediator design pattern. In this blog I’ll show yo...
In any component-based framework you’ll need to implement component communications. The main principle is that components should be loosely coupled hence reusable hence testable. The mediator design pattern allows you to arrange component communications via “the man in the middle” so a...
If you haven’t heard the story, here’s the gist of it. A guy named Azer Koçulu published 250(!) open source packages in the popular repository npmjs.org, which is a central repo for all JavaScript developers (it’s… More
In the first half of 2016 I’ll speaking at conferences and teaching various Angular-2 classes. Here’s the list of public talks and trainings I got so far: 1. The conference DevNexus, Atlanta, GA, Feb 17… More
I decide to write this blog after reading this post of a frustrated developer (he goes by the nick pistacchio) who couldn’t create a simple single-page application (SPA) in JavaScript in several days. Typically frustration is a result of unmet expectations and this is the case here as ...
Over the last couple of years the AngularJS became the most popular framework for development of the front end of Web applications. The recent survey of Pluralsight, the best online training resource shows that Angular is leading the skills that developers want to acquire in 2016. This...