Developer Digest 6

Ed and Sam Basu cover the latest news in the development community including: Angular 2, NativeScript snacks, ASP.NET Core RTM, and Windows CLI.

What is the Telerik Developer Digest?

The Telerik Developer Digest is the latest collection of the best articles from the Telerik Developer Network and around the web, curated by a group of Telerik developers just like you.

Show Notes

Hosts

Ed Charbeneau

Ed Charbeneau is a web enthusiast, speaker, writer, design admirer, and Developer Advocate for Telerik. He has designed and developed web based applications for business, manufacturing, systems integration as well as customer facing websites. Ed enjoys geeking out to cool new tech, brainstorming about future technology, and admiring great design.

Sam Basu

Samidip Basu (@samidip) is a technologist, Apress/Pluralsight author, speaker, Microsoft MVP, believer in software craftsmanship, gadget-lover and Developer Advocate for Telerik.

With a long developer background, he now spends much of my time advocating modern web/mobile/cloud development platforms on Microsoft/Telerik stacks. His spare times call for travel and culinary adventures with the wife. Find out more at http://samidipbasu.com.

Additional Resources

Transcript

00:01 Ed Charbeneau: This podcast is part of the Telerik Developer Network. Telerik, by Progress.

[music]

00:18 EC: Hello and welcome to Eat Sleep Code, the official Telerik podcast. I’m your host, Ed Charbeneau, and today my co-host for the Telerik Developer Digest episode will be Sam Basu. Hey, Sam.

00:32 Sam Basu: Hey, Ed. How you’re doing?

00:35 EC: Good. We have a busy week with the Telerik Developer relations. Brian is out, so thanks for filling in for him.

00:43 SB: No problem.

00:46 EC: So, I’m gonna kick things off a little differently this time. We have a really cool program going, called All Your Snacks Are Belong to Us. This is a NativeScript DevRel initiative. So, the NativeScriptSnacks website is this really cool place where you can go get these five minute or less videos on how to do something really awesome in NativeScript. So there’s a campaign going to get people out there and submit some videos of your own, and we have some cool sunglasses and stuff that we’re giving away. So I asked Jen Looper, who is in charge of this really cool contest, or whatever you wanna call it, to just kinda give us a little info on what the contest is all about and how to get involved. So I’m gonna hand it over to Jen, and then we’ll get back to the show in a moment.

01:53 Jen Looper: Hi, everyone. This is Jen from Developer Relations and I’m happy to announce a fun summer program that we’ve launched on the NativeScript community Slack channel. First of all, if you aren’t on that channel, you can join by visiting NativeScript.org, clicking Community, and then Slack Channel and requesting an invitation. And we have a lot of fun times on that channel, I’ll tell you. Second, we’ve launched a bounty program from within that Slack channel which involves submitting any short video tutorials or code snippets for NativeScript apps. So this summer, if you submit a snack, what I call a snack, to NativeScriptSnacks.com, I will personally ship you a pair of NativeScript sunglasses. And these are really nice, comfortable, good-looking glasses. You’re gonna need them during the dog days of summer. So please, visit NativeScriptSnacks.com, submit a snack and tell us all about it on Slack. Thanks a lot.

02:43 EC: Okay, Sam, we’re back with the next topic at hand. We had an article by Peter Filipov this week, and the title of the article is “Every ASP.NET web developer can be a mobile developer”. So Peter’s discussing the similarities between ASP.NET web forms and NativeScript. So, Sam, what’s your take on this comparison? Is this something that’s really similar, or how were those similarities broke down, what do you think?

03:21 SB: Yes, I think so. But before we get into it, just maybe a quick introduction. Peter Filipov is actually our colleague on the Developer Relations team. He comes from a very technical background. He used to be one of the PMs in our ASP.NET developer tools division for Telerik, and he has come over from Sofia and now he is a PM and a DevRel for Sitefinity, so he really comes from a very diverse and technical background. And I think what he’s doing, and he’s got a couple of articles this week, he’s trying to draw some parallels between the world that he comes from of ASP.NET and Sitefinity, and bringing that experience over to NativeScript, which is our cross-platform way of making Native mobile apps. And I think he makes some very convincing points. As we all know ASP.NET Web Forms is the traditional way we have always done web development with ASP.NET stack. It’s to this day, I mean, I know we’ll talk about.NET Core and the new and the fun stuff, and Web Forms isn’t quite carrying its weight over to the new stuff and.NET, but to this day, I think Web Forms is still incredibly productive.

04:28 SB: If you just have to quickly whip up a web application, Web Forms, with its life cycle and the way things work, is very productive for developers. So I think what Peter is doing is trying to see if you come from a heavy ASP.NET Web Forms background, all of this new cross-platform, mobile stuff might seem very daunting, but he’s drawing some really nice parallels to how your experience, how your skills kind of translate over.

04:55 SB: So, to start off, I think the IDE that you’re developing, we all have a lot of choice nowadays with these lightweight IDEs and Core editors, but you can still do NativeScript development inside of Visual Studio. There’s a NativeScript extension and that gets you a nice getting started experience, there are templates and so on. So you can develop your entire application inside of Visual Studio with all your free comforts in place. And that brings over some of the language benefits that you get while developing NativeScript apps. You will have complete code IntelliSense, whether you write CSS or JavaScript. And then with JavaScript, you do get fairly good IntelliSense in Visual Studio or Visual Studio code, but I think the deal gets sweeter when you use TypeScript to build your NativeScript apps. ‘Cause that’s where Visual Studio really shines to give you the IntelliSense that you need.

05:49 EC: Yeah, one thing I noticed about NativeScript and Web Forms that’s similar, and is pointed out in the article, is the fact that you have this one to one parity between, or you can have anyway, between your Native view and your code behind, like you would in Web Forms. You have the similar paradigm in NativeScript, or you have your controls, and then there’s a set of code that powers that view. And that code in NativeScript is obviously JavaScript, which a lot of ASP.NET Web Forms developers get a bad rep for not knowing JavaScript somehow, yet I think if you asked most of them, they’d be pretty comfortable with writing JavaScript.

06:39 SB: Yeah. It’s more of a thing that we have inherited, that we are not good at writing JavaScript if we come from a strong ASP.NET background. I don’t think that’s true anymore, because the modern Web Forms developer isn’t doing everything server-side. There’s lot of AJAX and we dive into our views and we write JavaScripts. I think what you’re referring to, there are very similar concepts that you can take from Web Forms when you’re building NativeScript apps. There is main page, ASPX with its code behind there is main page JS and it’s code behind is an XML. And not just files and how the solutions are set up, it’s just how things work once you get under the covers, and you start writing your code.

07:19 SB: When you’re declaring your controls, like your UI, you will get strong IntelliSense if you have the right name spaces. And then the way you hook things up, the way you build up your visual tree, be it in HTML, in the Web Forms, or be it NativeScript, you are building up the same visual tree. You can add children inside, like container controls. And then also how you hook up events is very, very similar. Just like in ASP.NET, you’ll have a button. You can have a button.ClickHandler that goes in the code behind. You can do the exact same thing in NativeScript. For example, you can have a button with a tap event, and then on your code behind, you simply write a function which is onTap. You can write in JavaScript or TypeScript, but it’s the exact same concept. When the user taps on their button, there is an event handler that’s gonna respond. When it comes to event handling, when it comes to data binding, there are very similar concepts that you can take from ASP.NET Web Forms to being a NativeScript developer.

08:15 EC: Sam, you’re a little more up-to-date on NativeScript stuff. Why don’t you take this next one? We’ve got yet another article from Peter that is “How to Digitally Transform Sitefinity Sites to Mobile Apps NativeScript.”

08:31 SB: Yeah. Sure. Sitefinity is actually a beast, and I’ll be honest that me and Ed, we’re not experts in Sitefinity land at all. But what Sitefinity lets you do is really manage very, very big enterprise-scale web applications, websites and there are very very popular websites which have thousands and thousands of hits and just gigantic production scalability issues that run seamlessly on Sitefinity. Sitefinity is very, very popular, it’s not just a CMS. Many people think it’s just a CMS, like WordPress, but it’s not. It’s much more than that, it’s very configurable and all that stuff. If you are already in the Sitefinity land, I think what Peter is trying to say, again, he’s bringing over his experiences, is there are things you can do to easily make your content be available as mobile apps, as Native apps using NativeScript.

09:24 SB: So one thing that Sitefinity lets you do is, yes, it will manage your website, and have views and controls, and everything that your users will see on the front-end, but then you can slowly transform your web application to be more of a service-oriented architecture. There are RESTful services that you can expose, because under the covers of Sitefinity, what you’re dealing with is entities, right? Your view might be showing a list of entities or they might be showing the entities in edit mode and so on. But these entities essentially are your data, and Sitefinity lets you hook up your data source to just about anything, ADI.NET, Oracle, any DB that you can think of, really. Because under the covers, there’s an ORM model, there’s an Object Relational Mapping model which translates your dot NET code to the SQL-like queries under the covers.

10:17 SB: So what Sitefinity web services actually lets you do is easily create these RESTful endpoints out of your data. You could choose really any of your entities, and we have seen this type of model from ASP.NET or other web-service-type services, but essentially you can select your entity and you can, say, generate an API out of that entity. And we will turn around and give you a RESTful endpoint that gives you a JSON back. And once you have that, that really is just a web service. It’s powering your web application, but it’s just a web service that you can call from anything, your mobile application, your desktop application, and your NativeScript application. So I think what Peter does a really good job is trying to walk you through how you can call these Sitefinity web services from your NativeScript code. Just simple HTTP modules that you can pull into your application and you can make HTTP GET calls, HTTP PUT calls, and so on. You could do an HTTP POST with a JSON workload and that’s gonna update the ORM behind the scenes if you make the right service call at the right RESTful endpoint. Or you can do HTTP GET to bring the data back and once you have the data, you have the similar concepts of data binding and using CSS layouts to show your data nicely in a NativeScript app.

11:37 EC: Yeah. I’m gonna take the conversation just slightly off-topic too, because this is the first time we’ve really mentioned Sitefinity on the show. So I think it’s a good chance to just get listeners up to speed with what the basics of Sitefinity are, and coming from a background of working with content management systems, I’ve implemented probably half a dozen different types of content management systems, from Joomla and WordPress. And one thing that makes Sitefinity stand out versus some of those is the fact that it’s really a content management system. You build content first with Sitefinity, unlike WordPress, that it has some similar functionalities now, but they kinda have bolted on half-baked. But WordPress, initially, was a page management system. You have this concept of pages and posts and everything’s a page within that environment.

12:40 EC: And within Sitefinity, everything that you have in Sitefinity is actually content and then you can pipe that content in the different views, and that’s what makes things like this Web API possible, the ability to separate that content from the actual mark-up that’s in the system, lets you push it out to different platforms and get at the raw data when you need it. So if you are not familiar with Sitefinity, just go to sitefinity.com, check it out. If you’re a dot net developer, it’s written in ASP.NET, there’s some Web Forms stuff in there. You can also use ASP.NET MVC to do custom programming, and there’s a nice ORM from Telerik in there doing all the back end stuff. It’s called OpenAccess, which is actually a free product of ours, OpenAccess. There’s some really, really interesting bits that you can go grab and check out with that. So sitefinity.com.

13:42 SB: I second that thoughts with Sitefinity. Especially if you come from a dot NET background, I think Sitefinity is really nice because it’s written in ASP.NET Web Forms and MVC. By nature, Sitefinity will let you do a lot of things without actually coding. You can configure a lot of your views, you can configure your ORM there and so on. But if you have to jump in and customize something, it’s really easy, it’s just Web Forms code that you’re looking at. And when it comes to hosting as well, this is not PHP or anything else, this is just pure ASP.NET, so you can just host it on any server that just runs IAS. So I think Sitefinity is very, very rich when it comes to supporting very popular websites and you can support your blogging engine with it. It’s very, very powerful. And now with some of these new services, you can really expose your data out really easily from Sitefinity.

14:37 EC: Alright. So we’re gonna change the gears here and jump on some Angular2 discussion. Jeremy Likness, which is one of our TDEs or Telerik Developer Experts, wrote a great article about rapid cross platform development with the Angular2 CLI. About a couple of months ago, I did a show where I had Brad Green on and he was just hitting the tip of the iceberg on this Angular2 CLI. He said they were developing a command line interface for Angular 2 to build Angular 2 apps straight from the command line. And that’s what Jeremy is writing about in this article. He details the simplified way that you can write Angular2 apps and create prototypes and do continuous deployment straight from the command line. So, Sam, what do you think about all of these tools now that are command line driven? We’ve got this article here by Jeremy that’s detailing Angular2. Dot NET Core RTM is out, we’ll talk about that in a few moments, and that has a command line interface. We’ve talked about NativeScript and that has a nice command line interface once you’ve taken all these stuff in.

16:00 SB: It’s all coming and it’s a little funny at times because as an industry, we go in cycles and trends repeat themselves, hopefully bell-bottom jeans aren’t coming back any time soon. [chuckle] But if you think about the hipster world of JavaScript, we from a dot NET developer experience, we have been shielded from CLI and dot NET command line tools for a while, with Visual Studio. But a JavaScript developer or Node.js developer is very used to keeping the terminal window open all day long. That’s how they’re productive, that’s how their builds work, that’s how their tools work. And just for Microsoft and everybody else to have kind of lowered the barrier to entry to their tools and their platforms, I think everybody’s going CLI and I think it’s an interesting trend.

16:49 SB: Would we eventually see all of these CLI things wrapped up into a visual ID eventually again? Potentially, ’cause we tend to repeat ourselves. But right now, everyone’s going back to the basics. And you see that with Angular, you see that with NativeScript, you see that with dot NET. So it really is lowering the barrier to entry where everyone can just fire up a terminal and start developing applications. You can not just scaffold your application, you can build your application, you can deploy your application, everything from CLI. And it’s actually very productive, because all of these CLI tools lend themselves to automation when it comes to your build processes, so it’s nice that we have these tools now.

17:29 EC: Sam, one day, somebody’s gonna make a nice GUI for all these CLI tools.

17:34 SB: Yes, sounds like we need a studio.

[laughter]

17:38 EC: So with that said, Jeremy has a really great article out there. I’m not gonna do any justice by trying to detail what he talks about, I’m just not experienced in it yet. So, drop by developer.telerik.com and look for a newsletter and you’ll find it there. And we’ll also put it in the show notes on the recording of this episode. He also has some really cool stuff in there about third party integration and converting markdown to HTML. So there’s lots of neat stuff in there to go dig out in the articles, so go check that out. And then, that kind of segues into this next article that is by me. And I was kinda joking about the… Building a GUI on top of all this stuff. So, I wrote this article, “Becoming a CLI Artisan on Windows.” And this is kind of an article that improves the developer experience of writing CLI apps on Windows because, like Sam and I were talking about, we’ve got CLIs on every development platform now. The pendulum is swinging back towards the command line interface and Windows as a platform is catching up, but not fast enough for my taste. So, in my opinion the command line shell that you get with the default installation of Windows 8.1 or 10 is just complete trash. Like, I know in 8.1 on a high DPI monitor, I couldn’t control the font size, so I could never read the darn thing.

19:18 EC: Windows 10, it seems like they fixed that, and they added copy paste, but it’s still a very basic terminal. You can’t do a whole lot of anything with it. And then we’ve got more than one terminal too, so we’ve got a PowerShell and other types of command line terminals, like the Visual Studio command line, and stuff like that. So we’ve got this hodge podge of stuff. None of it’s great. So this article kind of details how you can install some really easy, open source apps that will fix this for you. So, we start off with the Chocolatey package manager, and that’s a tool that lets you install Windows software from the command line, and then I kinda walk you through some of my favorite CLI tooling for Windows.

20:10 EC: One of those is Posh-Git. So this is a tool that gives you Git project status right in your console. So if you commit a CD over to a folder, and you open up that folder, it’s gonna tell you right on the prompt how many changes there are and what the state of your Git repository is. And then I walk you through the next thing, which is installing a new console. So there’s a free and open source console called Con-EMU and that augments that command line experience for you and fixes all those problems I was complaining about, like the lack of copy and paste before Windows 10 and control over the font size and color of the fonts and tabbed windows and all of that great stuff that you would expect from a modern command line. So, there’s a lot of cool tips and extra stuff in that article. That’s another one to put on your reading list, if you haven’t checked it out yet.

21:14 SB: You know, Ed, I think it’s funny how you talk about this. And the interesting thing about this for me is Windows command line is lagging and that’s the reality. And I think… I was listening to another podcast where Microsoft is acknowledging that they haven’t really done much work with the CLI, or their command line terminals in a while, because there just hasn’t been much demand in the Microsoft in the dot NET space. But that’s about to change. I think they are gonna put much more investments into it, so you don’t have to go out and do all of these crazy things to improve your experience. I think they’re gonna work on this a little better. And I think you see the overall focus from Microsoft, even at Builds 2016, when we were at San Francisco in March. The big message that they wanted to drive home was Windows is home for developers because just like us, Microsoft is also seeing lots and lots of Macs that are used by developers. And on the Linux and OSX side of things, we are always had things like Bash, which is a rich command line experience, and they’re bringing it over to Windows and they’re doing things to kind of spice up the command line experience a little bit, especially now that so many things are CLI tools now.

22:22 EC: Yeah. In the article it’s kind of explaining how we got there, as well. We have Visual Studio. It’s an amazing tool and all of the other platforms outside of dot NET have kind of fallen back on the CLI stuff recently, and it’s taken a little bit of time to play catch up on the tooling on Windows. So, we’ve got things that we can install and make our lives a whole lot easier and it’s one of those things where I’m speaking at a conference or user group or something, and I open up my command line and people are like, “What’s this command line that you have? And did I just see tabs?” And they start getting excited and you’re like, “Okay, now I have that article I can just point you to and help people through that process of finding all this stuff and installing it.”

23:15 EC: So let’s switch back over to Angular2 real quick, and then we’ll move on to dot NET RTM, ’cause there’s a lot of news there that we need to cover. I just wanna make mention of a conversation piece that we posted in an article format on developer.teller.com. We just threw the question out to the team, “Do you think Angular2 will take off?” and there were four of us in the chat room and we kind of just weighed in on our own opinions of what we thought the state of Angular2 was, and the future of it was. And there’s some strong opinions back and forth on this one. I for one think it’s gonna do just fine. Like Jeremy’s article pointed out, there’s a whole new CLI ecosystem and people are starting to latch onto the new ideas that they’re putting into this, but some others disagree. What about you, Sam?

24:22 SB: Yeah, I think I overall agree with you. This is a very controversial thing to talk about, and I think the developer ecosystem and the community is kind of divided on this, especially for someone who has not done a lot of Angular 1. For me, it’s an easier get for me to jump into Angular2. Like, okay, aha, I get it. It’s a little more structure, it’s a little more architecturally well defined compared to Ang 1, which was kind of a little bit of a wild, wild west and I can see why developers love hacking on something like that, which is very flexible. But I think with Angular2, Google is just trying to give a little more structure towards making these applications, be it a very small-time blog application, or just a giant web application, they’re trying to bring a little more structure back. And I think the important thing is it’s very enterprise friendly. You can do things in Visual Studio, you can do things in your favorite core editor and you have the backing of Google and you have TypeScript from Microsoft. So I think all of these things are very enterprise friendly. And it might not take off the right way in which Angular 1 did, but it will have its audience and you will see enterprises taking off on it, I think.

25:33 EC: Now speaking of things taking off, dot NET Core RTM was Monday. So what do you think about this? Is this gonna take off? Dot NET Core.

25:47 SB: It’s interesting, but it’s a huge milestone, no matter what, and I think some people get a little confused with what exactly happened this Monday and it’s more so about a line in the sand. It’s not the finish line, but it’s more of, “Okay, we have gotten to a point where it’s ready to ship and it’s ready for you to use”. So I think many people might actually be confused as to what was released. So back about two or three years back, they realized the need to get dot NET outside of just the Windows ecosystem and onto other platforms, be it mobile, be it desktop. So this is where the whole rebirth of dot NET is coming along, and this is no simple task. They are really cracking open something that’s been out there for 15 years with dot NET, and they’re trying to reposition it for the next 10 years or 15 years. So this release, you had dot NET Core 1.0, ASP.net Core 1.0, Entity Framework Core 1.0 and some tooling that was released. So some of the tooling is actually just still preview, but actual frameworks are shipped and they’re ready to go, which includes the ASP.NET Core 1.0. The tooling, some of it is previews, especially the new dot NET SDKs, which have some of the CLI-type tooling that we talked about. But then we also saw some Visual Studio erasers, like with Visual Studio 2013, the update 3. Those are fixed and permanent releases which kind of let you on to some of the new dot NET Core coolness.

27:15 EC: Yeah, and this is something that came up in “The Angular2, will it take off?” discussion and that is like this is stability type of a thing, where there’s all of these beta releases coming out, and each one of them is the most painful of bleeding edge breaking changes. So it’s been a rough road. It’s been tough getting to this RTM. And you’d think that people might be turned off by that, but it’s the folks like you and me that are trying to stay on top of it and the ones that are really suffering, and I think the people that are out there trying to do their daily job and get software shipped isn’t really worried about that. They’re gonna wait ’til this thing RTMs and then go look and see what’s changed between not having this thing at all and then the RTM. They’re not gonna look at all these little pain points throughout the entire process, like we’ve had to endure and be dragged through the mud with. I think that’s something that we lost a little sight with on the Angular2 discussion in that article we posted is that not everybody follows these things so closely that they’re having to put up with all of the the pain points along the entire process as a whole.

28:39 SB: Yeah, yeah, you’re right. So with the dot NET rewrite, things began three years back, like I said, and we have gone through five different types of naming and lots of breaking changes across each of the betas and alphas that were released. And yes, we have been dragged through the mud a little bit, if you’re a community that’s watching this. But the important thing here is to know that Microsoft is doing all of this in the open. So it’s very visible what they’re doing and it’s breaking changes and they are going back on fundamental things that they have promised, like Project.JSON or the build systems and so on. And they’re having to tweak things to kind of fit the rest of the dot NET ecosystem. And you’re right, if you are busy just maintaining your applications on dot NET today, you’re not gonna be too concerned with it right now, and I they made the point on ASP.NET or dot NET blogs that if you have something that’s working today, don’t feel the rush to just jump on. This is very new. That’s the whole reason why they went from ASP.NET 5 to calling it ASP.NET Core 1.0 because it really is a fresh start. So if you have a greenfield development in the works, look at this stuff.

29:45 SB: If you want to take your applications cross platform, if being on a lean modular web application framework depends or matters to you, then you look at this stuff, but you don’t have to today, just because dot NET Core is RTM-ed, look to switch your applications over to dot NET Core. In fact, you will actually not have a very good time, because dot NET Core is a much more lighter subsystem of what the overall framework is today. Much lesser APIs, much lesser app models, and lesser frameworks that it supports. But it really is lean cross platform, so it’s just a different world.

30:18 EC: Yeah. I’m gonna get into a little story of my own here with ASP.NET Core, the tooling for that. So the original promise on all of these ASP.NET Core stuff in Visual Studio was going to be, you’re gonna be able to have this tight integration with all of the web-friendly tooling like NPM, and Bower, and Grunt & Gulp, and all the things that web development has made popular. And it’s like there’s a pseudo standard out there that if you’re doing web development, one of these tools, if not many of these tools is part of your process now.

31:09 EC: So the first few releases of the ASP.NET Core templates had this tooling in it. So we’ve got in our project structure a place to set up NPM modules very easily with IntelliSense. And you just go into your JSON file and add those dependencies in, and it pulls in the packages on its own, and it was a really nice experience. And then we have an integration with Gulp where you can run tasks right from Visual Studio. And then there was this announcement at the last minute, at least I caught it at the last minute, that was about removing all this stuff before RTM. And I was shocked, I was like, “Okay, there’s this openness to open source tooling.” And then all of a sudden, it’s being shut down. And I was prepared to make us think, let’s just say that, like, “This is a shock to me. This is something I was hoping to get support on. And now, the rug’s being pulled right out from underneath me.” And I bit my tongue, and waited for the RTM to ship.

32:26 EC: Okay. So Monday, I get the RTM, and install it, fire up and file new project. And I have to compliment the teams that worked on this on how they solved the problem. So they did in fact yank some of that stuff out of the template. And the reason given was because there was a lot of bloat with NPM, which I can see. The thing creates so many folders in your project, it gets a little intense. But the way they handled it was exceptionally well, because if you go at it to add any of this stuff to your project like, say, you add a Gulp file dot JS to your project, Visual Studio actually recognizes what you’re trying to do, and it prompts you to install plug-ins to support that. So it’s got a really nice discoverability factor to it, and it still lets people do what they wanna do without having all that stuff in the default templates.

33:35 EC: And another really cool thing that Mads Kristensen was working on, he’s the guy behind Web Essentials and all of the plug-in tooling for Visual Studio. They have a bundling and minification system built into ASP.NET Core that replaced the need for NPM and Gulp to begin with. So this new bundling and minification system is in there. It’s really small and compact, there’s not a lot of dependencies or anything on it. So that kicked out NPM and Gulp. But if you wanna add that stuff back in, he’s actually added a context menu on the file itself. So if you right click on this bundling configuration file, it’ll say, “Convert to Gulp.” And when you click that button, it will literally install NPM, Gulp, and all of the dependencies that it needs to set this thing up. And you’re back to where the original template was that I liked. So they really found a nice compromise between those two things. And I have to commend them on how they actually handled that situation without breaking the template for the people who wanted it, but still keeping it the way they envisioned it.

35:10 SB: Yeah, yeah I think that’s well said, Ed. I think from a Microsoft standpoint, it’s really difficult at times to balance forward-facing innovation with enterprise, backward compatibility. Those two things just don’t go hand in hand. You can go all out with your forward-facing stuff, but then eventually, even if it’s a little bit of challenge trying to integrate all of that stuff back into all of this baggage that you have. And I think that’s what we saw with some of the ASP.net tooling. I think folks like you and me are very excited to see project.json, and Grunt & Gulp and NPM. But a large majority of dot NET developers don’t do all of that stuff yet. So you see someone in the project.json thing, I think the story I heard was David Fowler was one of the engineers in the ASP.NET team. He was the founding father of project.json, he was the big fan, and he kind of sold everybody on this idea of a JSON file instead of CS prods, and then closer to RTM, he was actually the biggest proponent of taking it out.

36:11 SB: It’s still there, but eventually it’s gonna go away, because the rest of the dot NET framework, you do have the double PFs and and the Winforms, and all of these frameworks that run dot NET applications. They don’t work with JSON files just as easily, compared to CS prods, because your build systems depend on it and it’s going to be really hard, it already is a little bit. Dot NET is looking at a little bit of fragmentation right now, so if you are somebody who maintains a library that supports of all of these different dot NETs, it’s a little challenging for you between one project that does CS Pod versus one that does JSON.

36:49 SB: So, it might be a little bit of time before everybody catches up to the newer things, but until then, I think it’s nice that they’re balancing the fact that you can do some of these new things, bring it back and do your NPMs and Grunts & Gulps, but at the same time, you do have the comfort of what works inside of Visual Studio, not just for ASP.NET, but your other application types as well.

37:11 EC: Yeah, and like you said, the project.json is most likely, at least from what I can tell, almost 99% gonna go away, and I was concerned about that at first, until I saw the way they handled this ASP.NET template thing, with NPM and Gulp, and that gave me a little more reassurance that they’ll find a right way to do it, where it’s not gonna be painful to developers. Like I said, this new system that they’ve put in place, it keeps things right out in the open for you and you get a nice notification in your IDE that says, I’m gonna sound like Clippy, when I say this, this sounds bad, but it comes up and says, “I see that you’re using Gulp. Would you like to install some tooling for that?” and you just click the button and your tooling gets installed and then from then on, you have this support for Gulp and IntelliSense for NPM, and all that stuff just starts coming in really easy.

38:23 SB: Yeah and you know what, I think there’s a lot going on with this dot NET introduce. I think the best place for anybody to go look and start is dot dot NET and that’s gonna look at your OS that you’re on and guide you the right way and it gives you the dot NET Core and it gives you the dot NET Core STKs if you’re interested, and then you can build applications on top of. And one thing new that they’re gonna start pushing a little bit is the new dot NET Standard, because like I said, there are multiple dot NETs now, multiple BCLs with the dot NET framework, the new dot NET Core, there is Mono, there is Unity. So they’re trying to bring some parity between all of these platforms. So I think the dot NET standard is just gonna be an API contract that we eventually build up on and say, any application that adheres to that standard, can have portability of applications and run times between one platform and another. So, I think it’s a new and exciting world and this is just a line in the sand. You’re gonna see a lot more innovation post-RTM and lot more tools and platforms that they keep building on top of this.

39:30 EC: Yeah, I think one thing we might have missed is, if you go to dot dot NET, not only do you get the places to get started and get the new bits, but you get those for Mac OS, OS 10, Linux and Windows. So, there’s a path for each platform to get started and not only for deployment, but for actually writing the code. So, you’ll get your Visual Studio code installer or you’ll get something to plug into Sublime Text, or whatever it is you’re using, whatever platform you’re using, you’ll get the tooling that you need to do dot NET development. Which is really a new thing, which is hard to wrap your head around if you’re used to the legacy of Microsoft.

40:22 SB: It truly is, it might be C# and F# for now, but the VB support is coming and again, for now, it’s ASP.NET or some of these console applications or web servers that have no JS style applications, but the fact that dot NET is not confined to Windows itself, that’s just a huge thing by itself. Eventually, you can envision a world where your dot NET application is just much more portable and they run on all of these different platforms because as a developer, your OS of choice should not matter anymore. And I think the tools reflect that.

40:57 EC: Yeah and will you… Telerik, our progress, our product Telerik DevCraft, that is working on all these platforms as well and with ASP.NET Core. If you’re an ASP.NET MVC developer, all of your UI for MVC controls are going to work, or already do work, on ASP.NET Core, whether you’re running on Mac or Linux or Windows, it doesn’t matter, all of that stuff works. You have 70, 80 UI controls that are ready to go for your new application that’s gonna run anywhere. So that’s really awesome stuff, Kendo UI as well, and we’re excited to see some of that stuff coming around to use ASP.NET Core. And then, we’re also shipping some tag helpers, and that’ll continue to build up as we convert more of our controls to tag helpers as people adopt those. If you wanna try out the UI for ASP.NET, MVC or any of our other products, go to Telerik.com/DevCraft, grab a 30-day free trial there, check out all the things. There’s also some open source tooling for Kendo UI, if you wanna check out Kendo UI Core which, ironically, has nothing to do with ASP.NET Core. So just be aware of that, that naming convention there.

42:38 SB: I think it’s the same idea. A bit of the core stuff that runs cross platform and it’s free for everybody and then you build tooling on top of that. But I think it’s overall a really, really exciting time to be a dot NET developer, you have so much of choice in your tools and your IDEs and your core editors and your applications just go places that they never have. So I think it’s a very interesting time. The fact that you can target just about any application type with C# just gives you a lot of flexibility. And then, like you said, we at Telerik Progress, we are excited about some of the new things we see in dot NET Core and we are gonna keep producing more support for some of the ASP.NET tooling. It works right now, but we’ll just keep investing more into it as the community and developers catch on to dot NET Core.

43:27 EC: Absolutely, and I just wanna end this with a quick ask for help. So we are trying to make the podcast better, we’d like to get your feedback. If you could please stop by developer.Telerik.com/Survey, we have a nice questionnaire there with a couple simple questions on it, so you can rate the quality of the show, give us some feedback on our topics and things that we choose to do on the show. Let us know how we’re doing so we can do better, and we’re gonna pick 10 lucky people from the folks who filled out the survey and we’re gonna give some Telerik licenses away. So we have some DevCraft complete licenses that we’ll be giving out to the 10 lucky people who filled out the survey, as well as some T-shirts. So developer.Telerik.com/Survey. Would really help us out, we appreciate it. Sam, thanks for filling in for Brian today. I think we might’ve ran a little long, but we had a lot of dot NET Core news to talk about, and appreciate your time, man.

44:44 SB: Yeah, absolutely. Thanks for having me.

[music]

Subscribe via: RSS | Apple Podcasts | SoundCloud | Sitcher | YouTube

Comments