نمایش قابلیتهای جدید Blazor
در این ویدیو Steve Sanderson از برنامه نویسان ارشد تیم Blazor نشان میدهد با امکانات جدید Blazor چگونه میتوان بدون نیاز به سرور از SqlLite و Entityframework درون مرورگر استفاده کرد، چگونه یک برنامه React میتواند کامپوننتهای Blazor را استفاده کند و چگونه میتوان از یک Library نوشته شده در زبان Rust برای تولید بارکد QR در Blazor استفاده کرد و مطالب بسیار جالب دیگر. توصیه میکنم آن را از دست ندهید. سورس کد دمو هم در آدرس گیت هاب وی موجود است.
struct Product { name: String, price: f32, in_stock: bool, }
در ادامه بیایید تابع catalog_sales_tax را به عنوان روشی برای ساختار Product، با استفاده از یک implementation block اضافه کنیم.
impl Product { fn calculate_sales_tax(&self) -> f32 { self.price * 0.1 } }
اکنون میتوانیم یک نمونه محصول را ایجاد کنیم و از روش محاسبه مالیات استفاده کنیم:
fn main() { let book = Product { name: String::from("Book"), price: 28.85, in_stock: true, }; let sales_tax = book.calculate_sales_tax(); println!("Sales tax: {}", sales_tax); }
fn calculate_sales_tax(&self) -> f32 { self.price * 0.1 }
fn set_price(&mut self, price: f32) { self.price = price; }
fn buy(self) { let name: String = self.name; println!("{} was bought", name); }
Associated Functions
Associated functions از کلمه کلیدی self استفاده نمیکنند و با استفاده از سینتکس :: فراخوانی میشوند. با این حال، هنگام فراخوانی توابع مرتبط در متدهایی که از self استفاده میکنند، '.' بجای آن از سینتکس '::' استفاده میشود:
impl Product { fn new(name: String, price: f32) -> Product { Product { name, price, in_stock: true, } } }
اکنون، میتوانیم یک نمونه محصول را با استفاده از تابع جدید مرتبط ایجاد کنیم:
fn main() { let book = Product::new(String::from("Book"), 30.0); }
بررسی زبان Go برای توسعه دهندگان #C
A Tour of Go (golang) for the C# Developer
Learning other programming languages enhances our work in our primary language. From the perspective of a C# developer, the Go language (golang) has many interesting ideas. Go is opinionated on some things (such as where curly braces go and what items are capitalized). Declaring an unused variable causes a compile failure; the use of "blank identifiers" (or "discards" in C#) are common. Concurrency is baked right in to the language through goroutines and channels. Programming by exception is discouraged; it's actually called a "panic" in Go. Instead, errors are treated as states to be handled like any other data state. We'll explore these features (and others) by building an application that uses concurrent operations to get data from a service. These ideas make us think about the way we program and how we can improve our day-to-day work (in C# or elsewhere).
0:00 Welcome to Go
2:40 Step 1: Basics
12:20 Step 2: Calling a web service
23:35 Step 3: Parsing JSON
36:26 Step 4: "for" loops
41:00 Step 5: Interfaces and methods
50:05 Step 6: Time and Args
55:10 Step 7: Concurrency
1:07:10 Step 8: Errors
1:14:40 Step 9: Concurrency and errors
1:24:35 Where to go next
انتقال WebAssembly به سرور یا WASI
Bringing WebAssembly to the .NET Mainstream - Steve Sanderson, Microsoft
Many developers still consider WebAssembly to be a leading-edge, niche technology tied to low-level systems programming languages. However, C# and .NET (open-source, cross-platform technologies used by nearly one-third of all professional developers [1]) have run on WebAssembly since 2017. Blazor WebAssembly brought .NET into the browser on open standards, and is now one of the fastest-growing parts of .NET across enterprises, startups, and hobbyists. Next, with WASI we could let you run .NET in even more places, introducing cloud-native tools and techniques to a wider segment of the global developer community. This is a technical talk showing how we bring .NET to WebAssembly. Steve will demonstrate how it runs both interpreted and AOT-compiled, how an IDE debugger can attach, performance tradeoffs, and how a move from Emscripten to WASI SDK lets it run in Wasmtime/Wasmer or higher-level runtimes like wasmCloud. Secondly, you'll hear lessons learned from Blazor as an open-source project - challenges and misconceptions faced bringing WebAssembly beyond early adopters. [1] StackOverflow survey 2021
Let's start our journey together to build beautiful native cross-platform apps for iOS, Android, macOS, and Windows with .NET MAUI, C#, and Visual Studio! In this full workshop, I will walk you through everything you need to know about .NET MAUI and building your very first app. You will learn the basics including how to build user interfaces with XAML, how MVVM and data binding simplify development, how to navigate between pages, access platform features like geolocation, optimize data collections, and theme your app for light theme and dark theme. This course has everything you need to learn the basics and set you up for success when building apps with .NET MAUI!
Chapters:
00:00:00 - Intro to the .NET MAUI Workshop
00:04:10 - What is .NET MAUI & How to Install
00:06:25 - Workshop overview
00:08:00 - First .NET MAUI app & Architecture (slides)
00:21:40 - Get code to build your first .NET MAUI app
00:25:00 - .NET MAUI Project Walkthrough
00:29:40 - Start to build first .NET MAUI app
00:56:48 - Intro to MVVM (slides)
01:09:30 - Implementing INotifyPropertyChanged
01:22:30 - .NET Community Toolkit for MVVM (Source Generators)
01:32:30 - HTTP REST Calls & JSON Deserialization
01:43:00 - ICommand in .NET MAUI
01:59:30 - Create our UI with XAML & MVVM
02:16:20 - Navigation in .NET MAUI (slides)
02:25:20 - Implementing Navigation in .NET MAUI & Passing Parameters
02:46:00 - Building a details UI with XAML & MVVM
02:54:10 - Modal, Back Navigation, & More
02:58:20 - Access Platform APIs in .NET MAUI (slides)
03:02:53 - Platform API Integration - Connectivity
03:08:30 - Geolocation & Permissions Implementation
03:18:50 - Open Map Integration
03:22:40 - Platform Specifics - iOS Safe Area
03:25:50 - CollectionView & RefreshView Overview (slides)
03:34:00 - Implementing Pull-to-Refresh
03:40:00 - CollectionView Layouts - Grids and more
03:41:30 - CollectionView EmptyView
03:45:00 - App Resources, Styles, and Themes (slides)
03:56:20 - Implementing Light & Dark Mode
04:06:00 - Thanks, wrap-up, and resources
Angular Ivy چیست؟
Ivy is a complete rewrite of the compiler (and runtime) in order to:
- 🚀reach better build times (with a more incremental compilation)
- 🔥reach better build sizes (with a generated code more compatible with tree-shaking)
- 🔓unlock new potential features (metaprogramming or higher order components, lazy loading of component instead of modules, a new change detection system not based on zone.js…)
If you haven’t tried Xamarin yet, now is the time! Read this free white paper from Syncfusion to learn how Xamarin can improve your cross-platform development:
- Deliver apps faster by sharing code across platforms, using one code base and UI.
- Use best-in-class development tools, like Visual Studio.
- Produce genuine native apps that don’t compromise the end user experience.
- And more!
Angular 2.0 will be built using the TypeScript language. It will embrace TypeScript's idioms for working with immersive web experiences in larger applications.
You can get those same benefits by working with TypeScript and Angular together. In this session, you'll learn how Angular and TypeScript work together to create single page applications. You'll see how you can leverage the features of ECMAScript 6, and still support today's browsers. You'll see how adopting TypeScript can be as easy as changing the extensions on your .js files. How you use the TypeScript features is completely in your control.