Nebraska.Code() Sessions tagged c#

Increasing Developer Sanity with Backends for Frontends (BFF)

The Backends for Frontends (BFF) pattern is the creation of a dedicated backend service for each frontend experience. This means that every app, website, and desktop client will each have their own server-side backend. This is a departue from general purpose server-side APIs, which process requests from all clients with the same backend code.

Adherence to this pattern can increase developer happiness, allow for more flexible orchestration of multiple backend services, allow for more graceful feature degradation, and allow for more options when integrating 3rd-party services.

This presentation will cover: * A detailed description of the pattern * How the pattern differs from "traditional" service oriented architecture * Developer benefits, including increased functionality ownership and team autonomy * Architecture benefits, including increased backend flexibility

Demo code will also demonstrate the developer and architecture benefits of the pattern.

The pattern can be implemented on any technology stack, and the presentation slides will be stack-agnostic. Demo code will be themed around an eCommerce problem scope and presented in C#.

Speaker

Nick Ebert

Nick Ebert

Director of Engineering, Spreetail

Hands Free Mobile UI Testing

Testing your mobile app against the sea of mobile devices can be daunting. Just testing with the popular devices of the last few years can be cumbersome and expensive. Not to mention the wear and tear on your thumbs with all that tapping and swiping. Wouldn't it be great if you could apply the same skills and practices you've honed implementing unit testing of your app logic to the testing of your UI? I've got great news, you can! We'll explore how you can get started automating all that tapping and swiping today in your existing mobile apps and plan for it moving forward. We'll also see how those tests can be applied to online services with thousands of devices waiting to run your app.

Speaker

Duane Newman

Duane Newman

Co-Founder, Alien Arc Technologies, LLC

Xamarin Forms: Writing one app to rule all your platforms

Are you seeking the Holy Grail of Write Once Run Anywhere app development? Then Xamarin Forms might be what you are looking for. This session will give you the information you need to understand Xamarin Forms and how it can be used to lower the friction of cross platform mobile development. You will see how easy it is to simultaneously create your app for iOS, Android, and Windows Phone using C# and this Open Source tool-set.

Speaker

Duane Newman

Duane Newman

Co-Founder, Alien Arc Technologies, LLC

Unit Testing Strategies & Patterns in C#

Learn common patterns and strategies to effectively unit test your code in C#. We’ll go over design principles and ways to effectively ensure your code can be easily tested as well as how to use common testing tools such as Moq, Autofixture, & MsTest to help remove some of the drudgery of testing.

Testable code is a widely advocated industry standard but the barrier to entry is incredibly high. In this talk, we’ll go over not just how to unit test your code using MsTest, Moq, & AutoFixture but the patterns & processes to ensure your code can be unit tested. We will touch on the basics of dependency injection and common patterns such as avoiding the use of static classes but also more advanced topics such as SOLID design principles and how they relate to testing.

We’ll give the attendees a wide variety of examples on how to test common C# projects such as web api and console applications and different scenarios such as how to test databases and external method calls. Many real world tips & tricks on dealing with common patterns and scenarios will be included to make your life easier. Most importantly, attendees will be given a good idea of how to start testing, how to measure the effectiveness of their tests, and what not to test.

Speaker

Bill Dinger

Bill Dinger

Solutions Architect, VML

Unity 3d with C#

Development was meant to be fun and rewarding. An introduction to Unity3d is just what the doctor ordered. We will explore the Unity 3d GUI interface and create a simple application that will showcase just how easy it is to create a 3D game from scratch. In this class you will learn real time debugging a virtual environment using Visual Studio and C#.

At the end of this session you will have conceptual awareness of what it takes it create Unity3d projects and how your ideas can be made not only real, but mannifested virtually as well.

Speaker

Timothy Ingledue

Timothy Ingledue

Software Developer, Farm Credit Services of America

Let's Clone Mario - Intro to Unity

Ever think about making your own games? Want a tool that lets you get something made fast? We are going to set up the basics of a platformer and we are totally going to clone Super Mario Bros. The simple yet classic game mechanics showcase a lot of what you can do with Unity. Here is what we are going to cover in this presentation.

  • Setting up a game scene
  • Create sprite based animations
  • Add C# scripts to our game objects (and discuss why they work)
  • Introduce the Unity Physics engine
  • Show off collision detection

By the end of the hour we will have recreated the platforming mechanics and have a good basic understanding of what goes into making a game in Unity.

Speaker

Andrew Lethcoe

Andrew Lethcoe

Software Developer, Fiserv

Entity Framework 201/301

This is a presentation of some of the more advanced features of Entity Framework. Proper setup and use of navigation properties to leverage the tools provided by Entity Framework. Complex Linq queries and how to simplify them. Advantages and disadvantages of relying on Entity Framework. Understanding the scope of Entity Framework queries and how to track the queries that are generated. This will be a code heavy talk.

Speaker

Clayton Terry

Clayton Terry

Software Engineer, Keyhole Software

Strange Async Code or: How I Learned to Stop Worrying and Love ReactiveX

Almost every application we write now-a-days requires some amount of aysnchronous programming. Whether you are writing a SPA that uses Ajax requests, a desktop app that responds to events, or a Mobile App you are most likely using some sort of async pattern.

Enter ReactiveX. ReactiveX is a cross platform API for asynchronous programming with observable streams. The list of languages is pretty impressive:

  • Java: RxJava
  • JavaScript: RxJS
  • C#: Rx.NET
  • C#(Unity): UniRx
  • Scala: RxScala
  • Clojure: RxClojure
  • C++: RxCpp
  • Lua: RxLua
  • Ruby: Rx.rb
  • Python: RxPY
  • Groovy: RxGroovy
  • JRuby: RxJRuby
  • Kotlin: RxKotlin
  • Swift: RxSwift
  • PHP: RxPHP
  • Elixir: reaxive

Unfortunately, the documentation for using ReactiveX is mostly contrived examples and doesn't really give you good examples of how to use it in a real-world example.

In this presentation I will walk through what ReactiveX is, what the basic concepts are, and show a sample application and rework it to use ReactiveX to make the event handling much simpler and the code easier to read.

Speaker

Matthew Will

Matthew Will

Software Engineer / Code Wrangler, Don't Panic Labs

A Stroll Around C# 7

Microsoft introduced several new exciting features to C# in version 7. Come listen about what they're including, and how these new features will affect how you program. We'll talk about everything from Throw Expressions to Pattern Matching along with some discussions about what they could have done differently, where some of these ideas came from and some neat hacks with the new features along the way. It'll be a fun time had by all, and if not it'll be 60 minutes of your life you won't get back (but we hope not).

Speaker

Kevin Miller

Kevin Miller

Senior Software Architect, TCC Software Solutions