Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
.NET Core 2.0 By Example
.NET Core 2.0 By Example

.NET Core 2.0 By Example: Learn to program in C# and .NET Core by building a series of practical, cross-platform projects

eBook
$9.99 $43.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

.NET Core 2.0 By Example

Native Libraries in .NET Core

In this chapter, we are going to learn about ncurses native libraries and how to extend console capabilities in .NET Core on Linux. We will also learn how to Interop with existing native code. This chapter will introduce the ncurses native library and Interop with existing native and Mono libraries. We will build a sample native library in C++ and we will also learn how to create an application that implements the new library and ncurses. The purpose of this chapter is to get an understanding of Interop with existing libraries, and the ability to extend console capabilities through implementing ncurses.

This chapter will cover the following topics:

  • Introduction to ncurses
  • Interop with existing native and Mono libraries
  • Building a sample native library (C++)
  • A sample application to implement the new library and ncurses
...

Introduction to ncurses

New curses (ncurses) is an openly distributable library of functions that deals with an application's user interface (UI) in text mode. It creates a wrapper over terminal abilities. ncurses is a free software, it is not an open source. It provides functions to make imaginary screen windows for logical calculations, print windows, and so on. Libraries for panels, menus, and forms use the ncurses library and extend the basic functionality of ncurses as required. We can make applications that contain numerous windows, menus, panels, and forms; windows can be overseen autonomously, can give scrollability, and can even be covered up.

Menus give the client a simple order determination choice, forms permit the formation of easy−to−use information sections and show windows, and panels stretch out the abilities of ncurses to manage covering and...

Interop with existing native and Mono libraries

Code reusability is one of the key principles in programming. For example, in an application we may use a certain functionality multiple times, so we keep it in a useful place and refer it from that place, whenever we need it in our application. Now, suppose our application implemented some common functionality which we can use in other applications, in this case, instead of writing the same logic again, we can create a library. It is easily distributable and reusable.

Asp.NET Core supports cross-platform programming, so any Linux user who has built many reusable libraries, API-like console support, and filesystem access, and wants to use them while writing code in ASP.NET Core, can access them. In this section, we will see how to access these native libraries (.dll) and Mono libraries (.so) in the program.

Common Language Infrastructure...

Building a sample native library (C++)

In the previous section, we learned about cross-platform implementation, and how to Interop with existing native and Mono libraries. To demonstrate interoperability, we created small sample applications. Let's start with building our first native library in C++. Follow these steps:

  1. Open Visual Studio and select Windows Desktop under Visual C++ and select the project type Dynamic-Link Library (DLL). In this example, we name the project ExampleDLL and provide the location where we want to create the project:
  1. Right-click on the header files folder and create a new header file. In this example, we named it Calculate.h. The Calculate header file contains mathematical operations such as the summation of two integer numbers, multiplication, and division:
#ifndef Calculate
#define Calculate

extern "C"
{
__declspec(dllexport...

A sample application to implement new library and ncurses

Now that we know the fundamentals, let's start building a sample application which implements ncurses. We will create a C# application which imports a C library or we can say .so file. This library has implemented ncurses functions. P/Invoke allows us to use those ncurses functions in our C# application.

First, we will create a C program which implements ncurses functions using an ncurses header. Let's create an application which takes an input character; this character will be printed in a window, based on the number of rows and columns the user enters from the application where we will import this library. The function drawCharOnWindow() prints the character, based on the number of rows and columns present in the window; it takes character, row, and column as input parameters. We get the size of the window...

Summary

In this chapter, we learned about the ncurses library and how to use this library in C or C++ programs. Also, we learned about how to reuse libraries created in Ubuntu or on a Linux machine which implemented ncurses in a .NET Core 2.0 application, using P/Invoke. We have seen how Mono works efficiently with a Linux machine and makes programming easy in .NET Core 2.0, using C# for Linux user. The next chapter will be very interesting, and it will be where we will build our first game, Tic-Tac-Toe, using .NET Core and we will learn about its compilation, building, and testing. 

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Bridges the gap between learning and doing and improves your software development skills
  • Covers the best practices of .NET development to improve your productivity
  • Example-based approach to get you started quickly with software programming

Description

With the rise in the number of tools and technologies available today, developers and architects are always exploring ways to create better and smarter solutions. Before, the differences between target platforms was a major roadblock, but that's not the case now. .NET Core 2.0 By Example will take you on an exciting journey to building better software. This book provides fresh and relevant content to .NET Core 2.0 in a succinct format that’s enjoyable to read. It also delivers concepts, along with the implications, design decisions, and potential pitfalls you might face when targeting Linux and Windows systems, in a logical and simple way. With the .NET framework at its center, the book comprises of five varied projects: a multiplayer Tic-tac-toe game; a real-time chat application, Let'sChat; a chatbot; a microservice-based buying-selling application; and a movie booking application. You will start each chapter with a high-level overview of the content, followed by the above example applications described in detail. By the end of each chapter, you will not only be proficient with the concepts, but you’ll also have created a tangible component in the application. By the end of the book, you will have built five solid projects using all the tools and support provided by the .NET Core 2.0 framework.

Who is this book for?

If you are a developer or architect and want to learn how to build cross-platform solutions using Microsoft .NET Core, this book is for you. It is assumed that you have some knowledge of the .NET Framework, OOP, and C# (or a similar programming language).

What you will learn

  • Build cross-platform applications with ASP.NET Core 2.0 and its tools
  • Integrate, host, and deploy web apps with the cloud (Microsoft Azure)
  • Leverage the ncurses native library to extend console capabilities in .NET Core on Linux and interop with native coden .NET Core on Linux and learn how to interop with existing native code
  • Reuse existing .NET Framework and Mono assemblies from .NET Core 2.0 applications
  • Develop real-time web applications using ASP.NET Core
  • Learn the differences between SOA and microservices and get started with microservice development using ASP.NET Core 2.0
  • Walk through functional programming with F# and .NET Core from scratch

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Mar 20, 2018
Length: 458 pages
Edition : 1st
Language : English
ISBN-13 : 9781788390262
Vendor :
Microsoft
Category :
Languages :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Mar 20, 2018
Length: 458 pages
Edition : 1st
Language : English
ISBN-13 : 9781788390262
Vendor :
Microsoft
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 158.97
Building Microservices with .NET Core 2.0
$48.99
C# 7 and .NET Core 2.0 Blueprints
$54.99
.NET Core 2.0 By Example
$54.99
Total $ 158.97 Stars icon
Banner background image

Table of Contents

11 Chapters
Getting Started Chevron down icon Chevron up icon
Native Libraries in .NET Core Chevron down icon Chevron up icon
Building Our First .NET Core Game – Tic-Tac-Toe Chevron down icon Chevron up icon
Let's Chat Web Application Chevron down icon Chevron up icon
Developing the Let's Chat Web Application Chevron down icon Chevron up icon
Testing and Deploying – The Let's Chat Web Application Chevron down icon Chevron up icon
To the Cloud Chevron down icon Chevron up icon
Movie Booking Web App Chevron down icon Chevron up icon
Microservices with .NET Core Chevron down icon Chevron up icon
Functional Programming with F# Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.3
(6 Ratings)
5 star 50%
4 star 33.3%
3 star 16.7%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




atul sharma May 30, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Being a developer myself and was looking for resources to get up to speed with .Net Core , this book proved to be an excellent starter. The way it builds up right from machine set up and slowly progresses into building up fully functional applications, is seamless and eloquent.The thing that i most liked about this book is , how the instructions of the samples are not limited to the development but extends to the deployment and testing of it. It also has a brief introduction to cloud , followed by an example on how to leverage cloud for application hosting. To summarize, this book is one of my good reads.
Amazon Verified review Amazon
Amazon Customer Apr 16, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Good book for the beginners. Examples are good and the apps developed in the book, makes it interesting. Tips and tricks on ASP.NET Core 2.0 and Azure were fresh and great to know.
Amazon Verified review Amazon
Abhimanyu Apr 26, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
PROS:Learned in-depth about ASP.NET Core 2.0 , the examples of developing four simple apps on Azure really helped.I think it is great for beginners and intermediate developers starting with .NET Core 2.0 as it explains the fundamentals from ground zero and using examples.Tips and tricks section was my favorite, which shares a wealth of handy information about Azure, .NET Core working and performance. Gives me quick knowledge which experts take months to accumulate.CONS:The book covers the breadth of technology. Due to the format of the book, few of the topics are not covered in depth, but the additional links and references sort of pointed me in the right direction.Overall, I would recommend this book to people new to asp.net.
Amazon Verified review Amazon
Suhas May 05, 2018
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Not only is this a great book for someone who is starting their journey to .NET Core but also helps an intermediate developer to get a clearer understanding of .NET core and fill in some of those gaps. The book does expect you to have a fair understanding of C# and basic programming constructs like async/await etc.The books starts off by discussing how to get started with .NET Core on various platforms - whether it's on Windows, Mac or Linux, covering various tools relevant to each of the operating systems.The authors then give examples of building a Tic Tac Toe game, a Chat application and even a movie booking app on Azure using .NET Core and along the way introducing us to various concepts like ASP.NET Core, SignalR, EF Core and take us through various elements in the platform, giving a good idea of when to use what.Personally what I loved about the book is how it takes an example first approach to explain the concepts in a clear and concise manner which otherwise could have been quite boring and dry.In terms of what is missing - some limitations of .NET Core could have been discussed and where not to use and instead prefer .NET. Practical use cases of where you'd use .NET Core over would also help.In terms of what could be better - Future roadmap talks only about .NET Core 2.1 in Microservices chapter - but its limited to that.For someone coming from .NET background, it would have been good to highlight similarities & differences between .NET Core and .NET (Few are listed, but scattered over like under the heading Handy things to know inside the Microservices with .NET Core chapter)I personally also felt some aspects of Azure were not required in this book since they are not really relevant to .NET Core such as spinning up Azure VMs & Automating using Powershell. Rather an introduction to Powershell Core would have been handy.Overall this book is a great read and would definitely recommend this.
Amazon Verified review Amazon
Penelope May 11, 2020
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
In Chpter 8: Could make the getting started with EFcore code example to work. The MovieBooking app had problems though. Theory coverage is great though.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.