C#

1
Ebook

3D Game Development with Microsoft Silverlight 3: Beginner's Guide. A practical guide to creating real-time responsive online 3D games in Silverlight 3 using C#, XBAP WPF, XAML, Balder, and Farseer Physics Engine

Gaston C. Hillar

Microsoft Silverlight is a programmable web browser plug-in that enables the animation, vector graphics, and audio-video playback features that characterize Rich Internet Applications. Silverlight is a great (and growing) RIA platform and games are the next level to exploit in it. But it doesn't offer 3D capabilities out of the box and integrating a 3D engine can involve lot of complex mathematics and matrix algebra. This book will help C# developers to get their fingers on the pulse of 3D in Silverlight.This book uses Balder, an open source 3D engine offering 3D capabilities for Silverlight 3. It leaves out boring matrix algebra and complex 3D mathematics. By the end of the book you will have explored the entire engine, and will be able to design and program your own 3D games with ease!The book begins by introducing you to the fundamental concepts of 2D games and then drives you into the 3D world, using easy-to-follow, step-by-step examples. The book employs amazing graphics and impressive performance, and increasingly adds more features to a 3D game giving you a rich interactive experience.By following the practical examples in this book, you will learn the important concepts, from the creation of the initial models, up to the addition of physics and artificial intelligence.The book helps you to provide realistic behaviors for 3D characters by enveloping models with different textures, using lights to create effects, animating multiple 3D characters using a physics engine (Farseer Physics Engine), and simulating real-life physics. Videos, music, and sounds associated with specific events offer the final touches to the 3D game development learning experience.

2
Ebook

Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#

Robert C. Martin, Micah Martin

Poznaj nowoczesną metodykę wytwarzania oprogramowania w C# Jak stosować w praktyce zasady zwinnego wytwarzania oprogramowania? W jaki sposób wykorzystywać w projekcie diagramy UML? Jak korzystać z wzorców projektowych? W związku ze stale rosnącymi oczekiwaniami użytkowników oprogramowania produkcja systemów informatycznych wymaga dziś korzystania z usystematyzowanych metod zarządzania. Projekt informatyczny, przy którym nie używa się sensownej metodologii wytwarzania, jest skazany na porażkę - przekroczenie terminu, budżetu i niespełnienie wymagań funkcjonalnych. Kierowanie projektem zgodnie z określonymi zasadami również nie gwarantuje sukcesu, lecz znacznie ułatwia jego osiągnięcie. Na początku roku 2001 grupa ekspertów zawiązała zespół o nazwie Agile Alliance. Efektem prac tego zespołu jest metodologia zwinnego wytwarzania oprogramowania - Agile. Książka Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C# to podręcznik metodologii Agile przeznaczony dla twórców oprogramowania korzystających z technologii .NET. Dzięki niemu poznasz podstawowe założenia i postulaty twórców Agile i nauczysz się stosować je w praktyce. Dowiesz się, jak szacować terminy i koszty, dzielić proces wytwarzania na iteracje i testować produkt. Zdobędziesz wiedzę na temat refaktoryzacji, diagramów UML, testów jednostkowych i wzorców projektowych. Przeczytasz także o publikowaniu kolejnych wersji oprogramowania. Techniki programowania ekstremalnego Planowanie projektu Testowanie i refaktoryzacja Zasady zwinnego programowania Modelowanie oprogramowania za pomocą diagramów UML Stosowanie wzorców projektowych Projektowanie pakietów i komponentów Przekonaj się, ile czasu i pracy zaoszczędzisz, stosując w projektach metodologię Agile.

3
Ebook

An Atypical ASP.NET Core 5 Design Patterns Guide. A SOLID adventure into architectural principles, design patterns, .NET 5, and C#

Carl-Hugo Marcotte, Abdelhamid Zebdi

Design patterns are a set of solutions to many of the common problems occurring in software development. Knowledge of these design patterns helps developers and professionals to craft software solutions of any scale.ASP.NET Core 5 Design Patterns starts by exploring basic design patterns, architectural principles, dependency injection, and other ASP.NET Core mechanisms. You’ll explore the component scale as you discover patterns oriented toward small chunks of the software, and then move to application-scale patterns and techniques to understand higher-level patterns and how to structure the application as a whole. The book covers a range of significant GoF (Gangs of Four) design patterns such as strategy, singleton, decorator, facade, and composite. The chapters are organized based on scale and topics, allowing you to start small and build on a strong base, the same way that you would develop a program. With the help of use cases, the book will show you how to combine design patterns to display alternate usage and help you feel comfortable working with a variety of design patterns. Finally, you’ll advance to the client side to connect the dots and make ASP.NET Core a viable full-stack alternative.By the end of the book, you’ll be able to mix and match design patterns and have learned how to think about architecture and how it works.

4
Ebook

Aplikacje i usługi na platformie .NET 7. Tworzenie praktycznych projektów opartych na programach Blazor, .NET MAUI, gRPC, GraphQL i innych zaawansowanych technologiach

Mark J. Price

C# i wieloplatformowy framework .NET sprawiają, że praca programisty jest efektywna i satysfakcjonująca. Podobnie jak w wypadku innych zaawansowanych technologii, nauka obsługi .NET może sprawić sporo trudności. Wielu deweloperów odkrywa, że oficjalna dokumentacja nie wystarczy do nabrania wprawy w tworzeniu złożonych projektów. To książka przeznaczona dla programistów zaznajomionych z podstawami języka C# i platformy .NET, chcących zdobyć umiejętność tworzenia rzeczywistych aplikacji i usług. Opisuje wyspecjalizowane biblioteki, które umożliwiają monitorowanie i zwiększanie wydajności aplikacji, zabezpieczanie ich wraz z danymi, a także internacjonalizowanie ich kodu. Zawiera również omówienie najnowszych rozwiązań, bibliotek i technologii w połączeniu z ich praktycznym zastosowaniem ― między innymi Web API, OData, gRPC, GraphQL, SignalR i Azure Functions. Nie zabrakło prezentacji technik pracy z .NET MAUI, programu, który służy do tworzenia aplikacji mobilnych dla systemów iOS i Android, a także stacjonarnych dla systemów Windows i macOS. Najciekawsze zagadnienia: wydajność, bezpieczeństwo i skalowalność aplikacji i usług specjalistyczne biblioteki .NET i biblioteki zewnętrzne, takie jak Serilog i FluentValidation tworzenie wielosystemowych aplikacji i ich integracja z natywnymi funkcjami mobilnych systemów operacyjnych stosowanie różnych technologii, między innymi bibliotek komponentów Blazor praca z danymi w bazach SQL Server i Cosmos DB Aplikacje w .NET, wydajne, skalowalne, bezpieczne - poznaj najnowsze rozwiązania!

5
Ebook
6
Ebook

Apps and Services with .NET 8. Build practical projects with Blazor, .NET MAUI, gRPC, GraphQL, and other enterprise technologies - Second Edition

Mark J. Price

Elevate your practical C# and .NET skills to the next level with this new edition of Apps and Services with .NET 8.With chapters that put a variety of technologies into practice, including Web API, gRPC, GraphQL, and SignalR, this book will give you a broader scope of knowledge than other books that often focus on only a handful of .NET technologies. You’ll dive into the new unified model for Blazor Full Stack and leverage .NET MAUI to develop mobile and desktop apps.This new edition introduces the latest enhancements, including the seamless implementation of web services with ADO.NET SqlClient's native Ahead-of-Time (AOT) support. Popular library coverage now includes Humanizer and Noda Time. There’s also a brand-new chapter that delves into service architecture, caching, queuing, and robust background services.By the end of this book, you’ll have a wide range of best practices and deep insights under your belt to help you build rich apps and efficient services.

7
Ebook

Architecting ASP.NET Core Applications. An atypical design patterns guide for .NET 8, C# 12, and beyond - Third Edition

Carl-Hugo Marcotte, Nick Cosentino

This unique ASP.NET Core book will fill in the gaps in your REST API and backend designs. Learn how to build robust, maintainable, and flexible apps using Gang of Four (GoF) design patterns and modern architectural principles. This new edition is updated for .NET 8 and focuses exclusively on the backend, with new content on REST APIs, the REPR pattern, and building modular monoliths.You’ll start by covering foundational concepts like REST, the SOLID principles, Minimal APIs, dependency injection in .NET, and other ASP.NET Core 8 mechanisms. Then, you’ll learn to develop components using design patterns, including many from the GoF. Finally, you’ll explore organizing your application code with patterns that vary from layers to feature-oriented vertical slice designs, covering CQS and a deep dive into microservices along the way. A brand-new e-commerce project at the end of the book will tie it all together.This how-to guide will teach you how to assemble your own APIs from building blocks, to suit whatever real-world requirements you may have.

8
Ebook
9
Ebook

ASP.NET 8 Best Practices. Explore techniques, patterns, and practices to develop effective large-scale .NET web apps

Jonathan R. Danylko

As .NET 8 emerges as a long-term support (LTS) release designed to assist developers in migrating legacy applications to ASP.NET, this best practices book becomes your go-to guide for exploring the intricacies of ASP.NET and advancing your skills as a software engineer, full-stack developer, or web architect.This book will lead you through project structure and layout, setting up robust source control, and employing pipelines for automated project building. You’ll focus on ASP.NET components and gain insights into their commonalities. As you advance, you’ll cover middleware best practices, learning how to handle frontend tasks involving JavaScript, CSS, and image files. You’ll examine the best approach for working with Blazor applications and familiarize yourself with controllers and Razor Pages. Additionally, you’ll discover how to leverage Entity Framework Core and exception handling in your application. In the later chapters, you’ll master components that enhance project organization, extensibility, security, and performance.By the end of this book, you’ll have acquired a comprehensive understanding of industry-proven concepts and best practices to build real-world ASP.NET 8.0 websites confidently.

10
Ebook

ASP.NET Core 3 and React. Hands-On full stack web development using ASP.NET Core, React, and TypeScript 3

Carl Rippon

Microsoft's ASP.NET Core is a robust and high-performing cross-platform web API framework, and Facebook's React uses declarative JavaScript to drive a rich, interactive user experience on the client-side web. Together, they can be used to build full stack apps with enhanced security and scalability at each layer.This book will start by taking you through React and TypeScript components to build an intuitive single-page application. You’ll understand how to design scalable REST APIs that can integrate with a React-based frontend. You’ll get to grips with the latest features, popular patterns, and tools available in the React ecosystem, including function-based components, React Router, and Redux. The book shows how you can use TypeScript along with React to make the frontend robust and maintainable. You’ll then cover important .NET Core features such as API controllers, attribute routing, and model binding to help you build a sturdy backend. Additionally, you’ll explore API security with ASP.NET Core identity and authorization policies, and write reliable unit tests using both .NET Core and React before you deploy your app to the Azure cloud.By the end of the book, you’ll have gained all the knowledge you need to enhance your C# and JavaScript skills and build full stack, production-ready applications with ASP.NET Core and React.

11
Ebook

ASP.NET Core 8 and Angular. Full-stack web development with ASP.NET Core 8 and Angular - Sixth Edition

Valerio De Sanctis

If you want to learn how to use ASP.NET Core with Angular effectively, this hands-on guide is for you.Improve the way you create, debug, and deploy web applications while keeping up to date with the latest developments in .NET 8 and modern Angular, including .NET Minimal APIs and the new Angular standalone API defaults.You’ll begin by setting up SQL Server 2022 and building a data model with Entity Framework Core. You’ll progress to fetching and displaying data, handling user input with Angular reactive forms, and implementing front-end and back-end validators for maximum effect. After that, you will perform advanced debugging and explore unit testing features with xUnit for .NET, and Jasmine and Karma for Angular. You’ll use Identity API endpoints in ASP.NET Core and functional route guards in Angular to add authentication and authorization to your apps. Finally, you’ll learn how to deploy to Windows, Linux, and Azure.By the end of this book, you will understand how to tie together the front-end and back-end to build and deploy secure and robust web applications.

12
Ebook

Asynchroniczność i wielowątkowość w języku C#

Grzegorz Lang

Przejdź na wyższy poziom C# Programowanie wielowątkowe pozwala wykonywać różne czynności z wykorzystaniem więcej niż jednego wątku. W efekcie zwiększa się wydajność operacji, które były ograniczone parametrami procesora. W dodatku dzięki zastosowaniu programowania wielowątkowego zadania można wykonywać w tle, bez pogorszenia responsywności aplikacji. Asynchroniczność umożliwia także zachowanie responsywności aplikacji użytkowych oraz zwiększenie skalowalności aplikacji serwerowych. Brzmi obiecująco. Niestety, programowanie z wykorzystaniem wątków i asynchroniczności nie należy do najprostszych. Jest to dziedzina z natury skomplikowana i błędogenna, także w języku C#. Ten poradnik zbiera i zwięźle tłumaczy wszystkie zagadnienia związane z asynchronicznością i wielowątkowością w C#. Poszczególne tematy uzupełniono przykładami, pomagającymi lepiej zrozumieć problem, którego rozwiązanie można zastosować później w praktyce. Dla wygody w korzystaniu z książki każdy koncept opisano oddzielnie, jednak by go zrozumieć, trzeba przyswoić wiedzę z poprzednich rozdziałów. Dowiedz się, na czym polega wielowątkowość w C# Opanuj zasady programowania równoległego Naucz się programować asynchronicznie Poznaj podstawowe zasady synchronizacji

13
Ebook

Augmented Reality with Unity AR Foundation. A practical guide to cross-platform AR development with Unity 2020 and later versions

Jonathan Linowes

Augmented reality applications allow people to interact meaningfully with the real world through digitally enhanced content. The book starts by helping you set up for AR development, installing the Unity 3D game engine, required packages, and other tools to develop for Android (ARCore) and/or iOS (ARKit) mobile devices. Then we jump right into the building and running AR scenes, learning about AR Foundation components, other Unity features, C# coding, troubleshooting, and testing. We create a framework for building AR applications that manages user interaction modes, user interface panels, and AR onboarding graphics that you will save as a template for reuse in other projects in this book. Using this framework, you will build multiple projects, starting with a virtual photo gallery that lets you place your favorite framed photos on your real-world walls, and interactively edit these virtual objects. Other projects include an educational image tracking app for exploring the solar system, and a fun selfie app to put masks and accessories on your face. The book provides practical advice and best practices that will have you up and running quickly.By the end of this AR book, you will be able to build your own AR applications, engaging your users in new and innovative ways.

14
Ebook

Bardziej efektywny C#

Wagner Bill

50 sposobów ulepszenia języka C# Powszechnie rozpoznawany ekspert .NET Bill Wagner identyfikuje i wyjaśnia 50 zaawansowanych technik i zasad pisania niezawodnego i dobrze działającego kodu C# 7.0. Zgodnie z rosnącym wyrafinowaniem języka C# i oczekiwaniami społeczności programistów Wagner przedstawia nowe, skuteczne rozwiązania problemów, na które natrafiamy każdego dnia. Trzy wydania Effective C# i zawarte w nich jasne wyjaśnienia, wskazówki i realistyczne przykłady kodu dowiodły swojej wartości dla tysięcy programistów. Bardziej efektywny C# przynosi to samo sprawdzone podejście do nowych funkcjonalności języka C# 7.0, pomagające bardziej wydajnie i skutecznie realizować dobrze znane zadania. Bazując na niezrównanym doświadczeniu i kluczowej roli w globalnych gremiach standaryzujących języka C#, Wagner pokazuje podejścia zorientowane obiektowo, funkcyjne i zorientowane na usługi do zarządzania danymi przy użyciu C#, lepsze sposoby wyrażania naszych zamiarów użytkownikom i innym programistom, a także nowe możliwości wykorzystywania technik asyn-chronicznych i programowania dynamicznego. ? Używanie właściwości zamiast dostępnych pól danych (punkt 1) ? Rozróżnianie pomiędzy typami wartościowymi i referencyjnymi (4) ? Zależności pomiędzy różnymi koncepcjami równości (9) ? Unikanie operatorów konwersji (11) ? Rozróżnianie pomiędzy interfejsami a metodami wirtualnymi (15) ? Unikanie przeciążania metod zdefiniowanych w klasach bazowych (19) ? Tworzenie grup metod, które są jasne, minimalne i kompletne (22) ? Włączanie natychmiastowego zgłaszania błędów w iteratorach i metodach asynchronicznych (26) ? Używanie metod asynchronicznych do pracy asynchronicznej (27) ? Unikanie alokowania wątków i przełączania kontekstów (30) ? Konstruowanie równoległych zapytań PLINQ z uwzględnieniem wyjątków (36) ? Używanie puli wątków zamiast tworzenia wątków (37) ? Wykorzystanie BackgroundWorker do komunikacji pomiędzy wątkami (38) ? Używanie najmniejszego możliwego zakresu dla blokad (41) ? Zalety i wady dynamicznego programowania (43) ? Pełne wykorzystanie API wyrażeń (46) ? Minimalizowanie obiektów dynamicznych w publicznych API (47) Jesteś już skutecznym programistą C#: dzięki tej książce staniesz się wyjątkowym. Bill Wagner jest jednym z czołowych projektantów C#, członkiem ECMA C# Standards Committee i autorem trzech wydań Effective C#. Jest też prezesem Humanitarian Toolbox, został wyróżniony tytułem Microsoft Regional Director oraz .NET MVP od 11 lat, zaś ostatnio dołączył do .NET Foundation Advisory Council. Wagner wielokrotnie pomagał rozmaitym firmom, od start-upów po międzynarodowe korporacje w usprawnianiu procesów projektowych i rozwijaniu zespołów programistycznych. Obecnie jako członek zespołu .NET Core tworzy materiały szkoleniowe dla programistów z dziedziny języka C# i .NET Core.

15
Ebook

Blazor WebAssembly by Example. A project-based guide to building web apps with .NET, Blazor WebAssembly, and C#

Toi B. Wright, Scott Hanselman

Blazor WebAssembly makes it possible to run C# code on the browser instead of having to use JavaScript, and does not rely on plugins or add-ons. The only technical requirement for using Blazor WebAssembly is a browser that supports WebAssembly, which, as of today, all modern browsers do. Blazor WebAssembly by Example is a project-based guide for learning how to build single-page web applications using the Blazor WebAssembly framework. This book emphasizes the practical over the theoretical by providing detailed step-by-step instructions for each project.You'll start by building simple standalone web applications and progress to developing more advanced hosted web applications with SQL Server backends. Each project covers a different aspect of the Blazor WebAssembly ecosystem, such as Razor components, JavaScript interop, event handling, application state, and dependency injection. The book is designed in such a way that you can complete the projects in any order.By the end of this book, you will have experience building a wide variety of single-page web applications with .NET, Blazor WebAssembly, and C#.

16
Ebook

Building Microservices with .NET Core 2.0. Transitioning monolithic architectures using microservices with .NET Core 2.0 using C# 7.0 - Second Edition

Gaurav Aroraa

The microservices architectural style promotes the development of complex applications as a suite of small services based on business capabilities. This book will help you identify the appropriate service boundaries within your business. We'll start by looking at what microservices are and their main characteristics. Moving forward, you will be introduced to real-life application scenarios; after assessing the current issues, we will begin the journey of transforming this application by splitting it into a suite of microservices using C# 7.0 with .NET Core 2.0. You will identify service boundaries, split the application into multiple microservices, and define service contracts. You will find out how to configure, deploy, and monitor microservices, and configure scaling to allow the application to quickly adapt to increased demand in the future.With an introduction to reactive microservices, you’ll strategically gain further value to keep your code base simple, focusing on what is more important rather than on messy asynchronous calls.