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 Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
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

Shipping Address

Billing Address

Shipping Methods
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
Estimated delivery fee Deliver to South Korea

Standard delivery 10 - 13 business days

$12.95

Premium delivery 5 - 8 business days

$45.95
(Includes tracking information)

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 : 9781788395090
Vendor :
Microsoft
Category :
Languages :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
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

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to South Korea

Standard delivery 10 - 13 business days

$12.95

Premium delivery 5 - 8 business days

$45.95
(Includes tracking information)

Product Details

Publication date : Mar 20, 2018
Length: 458 pages
Edition : 1st
Language : English
ISBN-13 : 9781788395090
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

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela