The image clearly explains the current architecture of .net core. You can see that it’s independent and designed to be multiplatform/universal.

.net core is lighter compared to .net framework

This should pose no surprise to any developer who’s been playing with .net core for quite some time now. .net core has lighter footprint due to the fact that it’s now decoupled from .net framework and is an independent framework altogether. Which means, this doesn’t have lots of code dependencies(such as dlls) that came from .net framework and it’s codebase is still small.

In an ideal scenario, .net core wins than .net framework when it comes to performance.

These guys tried to benchmark the performance of ASP.net core in contrast with ASP.net 4.6.

The findings were astonishing and fascinating. It caters 1.15 million Requests Per Second which is a miles away from ASP.net 4.6 which only caters around below 200k requests!

It’s just a matter of what do you prefer for your team development needs.

ASP.net core uses MVC as its default web architecture

The Microsoft-dependent version of ASP.net uses two web architecture as its default template: Webforms and MVC.

In ASP.net core, this was no longer the case as Microsoft intended to get rid of Webforms either way. But there are some rumors that they’re trying to add support webforms for developers who still wants to use webforms as their web architecture.

Though personally, I’d try to stay away from Webforms if I were you. For your sanity’s sake.

Also, it’s worth pointing out that Web API and MVC were already combined as one instead of a separate structure altogether. So, it’s better, cleaner, and less confusing. When I was starting out my ASP.net MVC journey, I was confused between the two and why Microsoft decided to create another template for MVC (Web API) which is just essentially structured as..well..MVC!

ASP.net core projects support npm(Node Package Manager)

If you’re familiar and a big fan of nodejs, then make no mistake: You can use npm alongside nuget package manager! Now you can use either package managers which suits your needs. Although you could also use npm to ASP.net MVC 5, but you will need to configure the project so that it aligns with npm’s structure and make their packages work. It’s worthy to note that npm is independent and used alongside javascript frameworks like Angular 4.

This is perhaps one of the big advantage ASP.net core has over traditional ASP.net. With npm, using javascript libraries, frameworks has never been this easier.

But sadly, if you understand the pain of setting everything up together to make npm packages work seamlessly on front-end side (I swear I’ve played around with nodejs before and had to deal with these things!), then I don’t have to explain everything.

ASP.net core implements their own Dependency Injection containers

**sigh**

What a relief! It was like waking up from a bad dream.

I swear I was one of the few people that hates setting up IoC/DI containers like StructureMap, Ninject and Unity Container to inject dependencies in different controllers. If you’re a beginner in IoC/DI containers and just starting out using those containers I just mentioned, then I know for certain that it’s quite frustrating to set them up especially when you’re the type of developer that just wants to start coding your MVP for the people to see!

And this is a good news! No too much overhead. And not too much setup is needed for you to start reaping the benefits and use Dependency Injection in the repositories you need to use and reuse in every controllers that exist.

There are 3 ways you can inject a dependency:

These methods depict and determines the lifetime of the dependency that you were trying to inject in each controllers where you used it. For more info, I’d suggest visiting this link:

The Bad

If there’s a good side then surely there’s also a bad side in learning and using ASP.net core in your projects. They say if there’s a Pros then there’s also some Cons.

I’ll enumerate them:

It’s brittle

Even after .net core 1 was released, developers were still reporting numerous bugs in github repository of ASP.net core. And a couple of times I run into few issues such as missing dependencies, current .net core version irrelevant in latest packages, etc. Though I understand the reason behind it. And I have to admit: .net core updates moved so fast.

There are instances where I left the project for a week, but after I hit dotnet restore, everything gets broken.

Entity Framework Core hasn’t grown mature enough as well. When I tried to associate a table into one-to-many relationship, where the table should have two or more data, EF Core migration doesn’t pluralize the table by default. So it’s not quite intelligent as of the moment.

Good news is, since it’s open-sourced, we will know the development status and stages of ASP.net core. You could also contribute to this awesome piece of repository.

Lots of developers around the world can now contribute in shaping ASP.net core unlike before.

Library support is still lacking and backwards compatibility might not be supported anymore

We all use nuget package manager to install the libraries we wanna use for our MVC apps. When I wanted to integrate a Unit Test within the app, I usually install NUnit package alongside NSubstitute for my mock objects.

When I wanted to implement Dependency Injection, I usually install Structuremap within my app.

If you’re dependent on those then you’re out of luck. .net core’s backward compatibility is still unstable and as of .net core 2.0, I heard rumors and seen some articles that you’re not allowed to use .net framework libraries anymore. Some project gets broken after upgrading to .net core 2.0. So you might wanna consider not using ASP.net core to your bigger projects at hand.

My Personal Verdict

Microsoft did indeed made everything right with ASP.net core. But they were a little bit too late in open-source market in my opinion. But who knows? We’ll see in later years. Personally I’d rather use ASP.net core than nodejs.

I feel like I’d rather stay away in using ASP.net core for now if the project was too big. It’s great to learn it. You might even learn different quirks just by simply learning ASP.net core. But if the project requires a more mature framework, then I’d suggest you’d rather use ASP.net MVC 5 for that.

But don’t get me wrong. ASP.net core is an interesting web framework to learn right now as we’re moving towards package-centric, more rapid way of developing applications to deliver MVPs as early as possible into the market. Even I learned a lot of stuffs when learning it along the way such as using webpack, grunt, npm altogether to install a javascript library. It made my front-end scripting easier than before where I have to download the js script and save it into my local directory, OR find a cdn link of that particular js library.

两个鬼故事博时主题基金骄傲的反义词茶叶商标起名大全大全集起名三才五格男楚辞女诗经取名起名绿色的产品起名关于给团队取名起名大全bt之家注册木瓜黄茔怎么读畸形儿五行属金男孩起名虞世南风云足球频道直播表天龙八部人物名字安阳区号圈名起名大全心灵奇旅动画片戴姓起名大全女孩残神起个带财有名字起名字 男诗经 女楚辞起名字知识市政工程起名那个好给男孩子起什么名字姓陈制冷设备公司起名大全官德最新章节金融公司起名大全字库盗墓笔记第一季免费宝宝取起名网少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化