On.NET
Last week, we had Mads Torgersen on the show to talk about language design in general, and C# in particular. This week, we'll talk to Jonathan Chambers from the Unity 3D team about game engines, and using .NET to target iOS, Android, or even the Web. Please send me your questions ahead of time, or attend the show and ask them on the chat. Tune in on Thursday, at 10:00AM PST to view the show live!
Package of the week #1: JSON.NET 8
JSON.NET needs no introduction, as it is the recommended library to serialize and deserialize JSON in .NET. James Newton-King just released version 8.0 with lots of bug fixes, and great performance improvements. To improve perf on an already very fast library, James introduced new ways in which a JSON.NET user can avoid memory allocations. Instead of allocating new buffers as needed, the new code uses pools of buffers:
IList<int> value; | |
var serializer = new JsonSerializer(); | |
using (var reader = new JsonTextReader(new StringReader(@"[1,2,3,4]"))) | |
{ | |
// reader will get buffer from array pool | |
reader.ArrayPool = JsonArrayPool.Instance; | |
value = serializer.Deserialize<IList<int>>(reader); | |
} |
The new feature is still somewhat experimental, and for now, you'll need to provide your own implementation of IArrayPool
(a sample is provided on the announcement post). In future versions, there will be a built-in implementation.
Package of the week #2: Colorful.Console
Console applications are cool, but they can be even cooler with some added color. Colorful.Console is a drop-in replacement for System.Console
that adds some new APIs that make it super-simple to write in color. But that's not all: it also contains a super-cool API that can transform text into ASCII art:
FigletFont font = FigletFont.Load("chunky.flf"); | |
Figlet figlet = new Figlet(font); | |
Console.WriteLine(figlet.ToAscii("Belvedere"), ColorTranslator.FromHtml("#8AFFEF")); | |
Console.WriteLine(figlet.ToAscii("ice"), ColorTranslator.FromHtml("#FAD6FF")); | |
Console.WriteLine(figlet.ToAscii("cream."), ColorTranslator.FromHtml("#B8DBFF")); |
User group of the week: Adelaide .NET User Group
On Wednesday, January 13 in Adelaide (yep, in Australia), David Gardiner will present on IntelliTest and other .NET unit testing tools.
.NET
- In a great series of questions and answers, Sander shows how to package a .NET library using various compilation targets, including .NET Core
- Debugging and Profiling in Visual Studio 2015 by Manuel Meyer.
- Tony Sneed recounts his journey to open source in How open source changed my life.
- To base(), or not to base(), that is the question by Jon Skeet.
- Evolution of C# by Kunal Chowdhury.
- Functional Microservices, the .NET Rocks show with Rachel Reese.
ASP.NET
- Goodbye child actions, hello view components by Dave Paquette.
- Best practices for private config data and connection strings in configuration in ASP.NET and Azure by Scott Hanselman.
- Real time translated chat with ASP.NET, Microsoft Translator and IP Messaging by Devin Rader.
- Building APIs with MVC 6 and OAuth (video) by Filip Ekberg.
- How to take an ASP.NET MVC web site down for maintenance by Jon smith.
- Experiments with Entity Framework 7 and ASp.NET MVC 6 by Damien Bod.
F#
Great progress has been made to add .NET Core support to the Visual F# compiler. The compiler and F# Interactive now run on CoreCLR on Windows, OS X, and Linux, but there's still plenty of work left. To track the progress of the project and find ways to contribute, check out the status page on Github.
- Lean and Functional Programming, by Bryan Hunter.
- Visualizing F# Advent Calendar Contributors, by Pierre Irrmann.
- Reconciling Stack Traces with Computation Expressions, by Eirik Tsarpalis
- F# Presentations from CodeMash 2016, by Craig Stuntz
Check out F# Weekly for more great content from the F# community.
And this is it for this week!
Contribute to the week in .NET
As always, this weekly post couldn't exist without community contributions, and I'd like to thank all those who sent links and tips. You can participate too. Did you write a great blog post, or just read one? Do you want everyone to know about an amazing new contribution or a useful library? We'd love to hear from you, and feature your contributions on future posts:
- Send an email to beleroy at Microsoft,
- comment on this gist
- Leave us a pointer in the comments section below.
This week's post (and future posts) also contains news I first read on ASP.NET's community spotlight, on F# weekly, onASP.NET Weekly, on Dirk Strauss' The Daily Six Pack, and on Chris Alcock's The Morning Brew.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2011-01-13 Razor试图引擎 语法学习(一)