Holland: Unfortunately, the Web Components standard is not quite ready to be used across browsers. Polymer, which is backed by Google, will help developers using Web Components to build apps by polyfilling places where Web Components are not fully supported. Web Components [a browser standard for creating components] puts HTML in the native component model playbook. We do not see Web Components [via Polymer] or the native component model being a current trend for 2017. We want it to be, because once there is a common component model for all developers, it is so much easier.
Holland: Currently, let's say you find a grid over here or a drop-down list over here, a calendar over here. All these things will work together if they're all created with the same native component model. Now, developers are creating things from jQuery and then React and then Angular. So, you have to sort of pick a side in order to use any of those things, and then you still don't know whether or not they're going to work together. This is the current state of affairs as we kick off 2017.
Would you say that TypeScript is the gateway to increased usage of component-oriented web development?
Burke Hollanddirector of developer relations, Progress
Holland: One reason is that it is so accessible, so easy to write. One of the things about structured programming languages is that they are discouraging to people that are just getting started, because there are so many constraints in the language itself as that is how typed systems work. They are literally a system of constraints. You spend more energy fighting the language than you do actually building applications.
What are some best practices for developers using TypeScript?
Holland: If you are working with TypeScript, use the Visual Studio code IDE. Also, if you're learning and/or using TypeScript, you might as well start to learn Angular as well. Angular is written in TypeScript. Be sure to check out solutions like NativeScript because NativeScript is also built on TypeScript. You can use Angular inside of NativeScript.
So, learn TypeScript and Angular, and you can easily build web and native mobile applications, all using the same language. That's really what developers want. We want to learn something once and not have to relearn things every 12 months. It's exhausting. Then again, we don't want to be limited by the fact that we're experts in one specific domain. That's very frustrating.