Comparing the Free .NET Implementations Mono and Dotgnu LOTS of DOTS

Total Page:16

File Type:pdf, Size:1020Kb

Comparing the Free .NET Implementations Mono and Dotgnu LOTS of DOTS PROGRAMMING Mono and DotGNU Comparing the free .NET implementations Mono and DotGNU LOTS OF DOTS The Open Source projects Mono and DotGNU open Microsoft’s .NET platform to Linux developers. This article investigates how well-suited these alternative implementations are for building simple GUI applica- tions. BY MICHAEL TSCHATER n 2002, Microsoft launched a new support has prompted two projects to gram written on Windows. This short system for platform-independent de- step into the gap: Novell’s sponsored example has all the major GUI elements, Ivelopment that they dubbed .NET Mono project [1] and the open source see Figure 1. The source code is avail- (pronounced “Dotnet”). The .NET pro- DotGNU [2] project. Both Mono and able on the Linux Magazine website at ject aims to simplify the development of DotGNU are aiming to provide as com- [3]. The only functionality this code ac- network and Internet applications. It plete an implementation of the .NET tually provides is that it logs user input supports object oriented programming platform as possible. The goal of both in a window specially designed for that and comes with a unique class library projects is to allow developers to ex- purpose. suitable for use with multiple program- change software across operating system ming languages, such as C# and VB boundaries. The Original by Microsoft .NET for example. In the course of Besides basic functionality such as One way of obtaining the original Micro- launching .NET, Microsoft has discontin- string manipulation, most projects need soft .NET is the free .NET runtime envi- ued support for its previous favorite, the widgets for graphical user interfaces to ronment and SDK (Software Develop- MFC library for Visual C++. All future help them cope with day-to-day tasks. ment Kit) download. The download Microsoft products will be based on the Microsoft offers the System.Windows. gives you all the command line tools new technology. Forms library for this purpose. The needed for software development on library has GUI objects, such as Main- Windows, just like the Java SDK. The csc Free .NET? Menu, ToolBar, Combobox, or Button. command compiles an application. The Despite the platform-independent ap- Listing 1 has a short code snippet as an results can be executed directly on Win- proach of the .NET framework, Micro- example. dows. soft is highly unlikely to release a Linux To compare the Mono and DotGNU The Integrated Developer Environ- implementation, and this lack of Linux implementations, we will be using a pro- ment (IDE) Visual Studio .NET is a com- 72 ISSUE 61 DECEMBER 2005 WWW.LINUX - MAGAZINE.COM Mono and DotGNU PROGRAMMING Figure 1: The demo application includes all major GUI elements from Figure 2: Visual Studio .NET displaying the code from the sample the .NET System.Windows.Forms library. This figure shows the Win- project described in this article. The code in the figure draws graphi- dows version. cal elements. mercial alternative for .NET develop- speed. Mono uses GTK# (which is also programmers to update documentation ment that includes a debugger and dia- available for Windows) for graphical online from the Mono repository, is an- log editor (Figure 2). This package auto- user interfaces. GTK# is based on other useful feature. Besides distribution matically installs the .NET SDK. The free GTK+, which forms the basis of the specific binaries, there is an executable Sharpdevelop developer environment [4] Gnome Desktop on Linux. installer, which sets up all the required is an excellent alternative to the Visual packages. Studio .NET package. Sharpdevelop GUI with Windows.Forms After you download the 50MByte gives you a powerful IDE that only lacks The System.Windows.Forms library is package, a wizard walks you through the an integrated debugger. The features in- mainly implemented in C# and draws its installation procedure, which just in- clude the ability to toggle between the own controls [6]. The library requires a volves a few steps. Thanks to the wiz- Microsoft and Mono runtime environ- driver for each operating system: drivers ard, the installation problems that once ments and to import Visual Studio .NET for X11 and Windows are available at affected explicitly supported, but non- projects. this time of writing. The DotGNU project current, distributions (such as Fedora) has adopted this design after ditching a are a thing of the past. Some distribu- The Alternative: Mono Wine-based implementation as impracti- tions – such as Suse 9.3 – include Mono The Mono environment [5] is available cable. by default, but distros such as Red Hat for Linux, Windows, and Mac OS. Be- Besides the mcs compiler and the and Fedora tend to place their emphasis sides the .NET standard class libraries, mono runtime environment, the Linux instead on the Java platform. Mono has a few extensions, such as a version also has the monodevelop devel- There are a number of websites, such variety of Gnome libraries. The virtual oper environment, which is based on a as the one at [5], that document the machine adds just-in-time and ahead-of- Linux port of Sharpdevelop. The progress of the Mono project in detail. time build techniques for improved monodoc help browser, which allows For example, you will find an overview of the controls in the System.Windows. Listing 1: GUI with System.Windows.Forms Forms library at [6]. 01 #using System; FirstApp()); A Sample Application with 02 #using System.Windows.Forms; 11 # } Mono 03 # 12 # Existing Visual Studio .NET projects 04 #namespace LinuxMagazin. 13 # public FirstApp() : such as our sample application can be FirstApp base() imported directly into Monodevelop. But 05 #{ 14 # { don’t forget to adjust the references for the new project. The context-based help 06 # public class FirstApp : 15 # this.Text = "First when editing source code is one thing System.Windows.Forms.Form Application with GUI"; that you immediately notice about the 07 # { 16 # } developer environment, but the environ- 08 # public static void Main() 17 # } ment lacks a GUI builder at this time of 09 # { 18 #} writing. When we tried to build the code by 10 # Application.Run(new giving the mcs -r:System.Windows. WWW.LINUX - MAGAZINE.COM ISSUE 61 DECEMBER 2005 73 PROGRAMMING Mono and DotGNU Figure 3: The sample application running in Mono on Linux has diffi- Figure 4: The GUI-based .NET application has a few issues running in culty drawing the buttons at the top and the selection boxes on the DotGNU; for example, the radio buttons falsely trigger events multi- right. ple times. Forms.dll sourcefile command, the stan- ing commands build and launch the instead it draws the controls itself, just dard System.Windows.Forms.Numeri- HelloWorld application: like the Java Swing library. DotGNU does cUpDown control caused a problem, as it not implement an IDE of its own. is not completely implemented in Mono cscc -o HelloWorld.exe U as yet. After removing the offending HelloWorld.cs The Sample Project in code, we were able to build the applica- ilrun HelloWorld.exe DotGNU tion and launch it in the mono runtime DotGNU runs the bytecode generated on environment (Figure 3). The following command sequence Windows without any modifications. A number of errors occurred: for ex- builds a more complex project with a However, clicking on the RadioButton ample, the update mechanism, which graphical interface. The source code files controls initiated the event routine mul- handles redrawing in the application, are located in the src subdirectory: tiple times. This did not change when did not work properly when hidden by we rebuilt the source using DotGNU: another application. Additionally, the cscc -winforms -o U cscc --winforms -o DemoApp.exe *.cs. Ad- event mechanism had a some trouble Application.exe src/*.cs ditionally, we had to remove the Image- with the RadioButton and ComboBox ilrun Application.exe List handling code to get the application controls. to build. The implementation of the System.Win- Our tests managed to uncover another The Contender: DotGNU dows.Forms library is not based on a bug in the variant compiled with Dot- Based on the 0.7 version number as- graphical library such as GTK, but GNU (Figure 4). Our tests indictate that signed by the project, DotGNU is less mature than Mono. The core component Table 1: Comparing .NET Implementations of DotGNU is titled Portable .NET. It Project DotGNU Mono comprises three major components: Current Version 0.7.0 1.1.8 treecc (an aspect-oriented programming Copyright LGPL GPL or proprietary (selectable) tool), pnet (runtime environment, C# Operating systems Linux, Mac OS X, Windows Linux, Mac OS X, Windows compiler, programming tools), and Advantages pnetlib (C# system library with critical Standard package with Debian Standard package with Suse 9.3 C# class libraries). Original Windows bytecode can Supported by full-time developers Source code and RPM packages are be launched without modifications at Novell available from the DotGNU website. The Disadvantages RPM variant did not require any tweak- System.Windows.Forms not System.Windows.Forms not ing to give us a fully functional environ- completely implemented completely implemented ment; the tools all worked at first asking. Event handling error Event handling error Current distributions such as Debian 3.1 No developer environment Installation packages (Wizard) not make things even easier by actually in- adequately tested; for example, the cluding the DotGNU environment by de- developer environment is missing in Mono 1.1.7 fault (in the pnet package). The follow- 74 ISSUE 61 DECEMBER 2005 WWW.LINUX - MAGAZINE.COM Mono and DotGNU PROGRAMMING the event mechanism does not work pendent programming. The C# program- INFO properly: the GUI element RadioButton ming language is very similar to the Java triggered duplicate events.
Recommended publications
  • Ironpython in Action
    IronPytho IN ACTION Michael J. Foord Christian Muirhead FOREWORD BY JIM HUGUNIN MANNING IronPython in Action Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> IronPython in Action MICHAEL J. FOORD CHRISTIAN MUIRHEAD MANNING Greenwich (74° w. long.) Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. Sound View Court 3B fax: (609) 877-8256 Greenwich, CT 06830 email: [email protected] ©2009 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15% recycled and processed without the use of elemental chlorine.
    [Show full text]
  • Opening Presentation
    Mono Meeting. Miguel de Icaza [email protected] October 24, 2006 Mono, Novell and the Community. Mono would not exist without the community: • Individual contributors. • Companies using Mono. • Organizations using Mono. • Companies using parts of Mono. • Google Summer of Code. Introductions. 2 Goals of the Meeting. A chance to meet. • Most of the Novell/Mono team is here. • Many contributors are here. • Various breaks to talk. Talk to others! • Introduce yourself, ask questions. Talk to us! • Frank Rego, Mono's Product Manager is here. • Tell us what you need in Mono. • Tell us about how you use Mono. 3 Project Status Goals Originally: • Improve our development platform on Linux. As the community grew: • Expand to support Microsoft APIs. As Mono got more complete: • Provide a complete cross platform runtime. • Allow Windows developers to port to Linux. 5 Mono Stacks and Goals. MySMQySQLL//PPosstgtrgesrsess EvEovolluutitioonn# # ASP.NET Novell APIs: MMoozzillala Novell iFolder iFolder, LDAP, Identity ADO.NET ApAapchachee MMonoono DesktoGpTK#: GTK# OpNoevenlOl LfDfAiPce GCneomceil# Windows.Forms JavaJa vCa oCommpaatitbilbitiylity Google APIs Microsoft Compatibility Libraries Mono Libraries Mono Runtime (Implementation of ECMA #335) 6 Platforms, CIL, Code Generation. 7 API space Mono 1.0: July 2004 “T-Bone” Mono 1.2: November 2006 “Rump steak” Mono 1.2 bits. Reliability and C# 2.0, .NET 2.0 scalability: • Complete. • With VM support. • ZenWorks and iFolder • Some 2.0 API support. pushed Mono on the server. • IronPython works. • xsp 1.0: 8 request/second. • xsp 1.2: 250 Debugger: request/second. • x86 and x86-64 debugger. GUI • CLI-only, limited in scenarios (no xsp).
    [Show full text]
  • Visual Studio for Mono Development
    Visual Studio for Mono Development By Francisco “Paco” Martinez Overview ●Introduction ●Mono and Gtk# installers for Windows ●VSPrj2Make: An add-in for Visual Studio ●Distributing your Creation ●What's Next? ●Q&A Demo I Creating a quick Gtk# editor application using Visual Studio and Glade. Introduction ●Background Even if most of the coding and advances of Mono takes place on Linux, there are many Windows and .NET developers that may only have access to computers that run Windows and/or feel most comfortable developing in a Microsoft centric world. Another convincing argument for using the Visual Studio IDE is the benefits of its integrated debugger that permits step-by-step iterations anytime during the coding process. Introduction (continued) ●Prerequisites – The OS: Windows 2000 or Windows XP – Visual Studio .NET 2003 (standard ed. or better) – Gtk# Installer for .NET Framework SDK – VSPrj2Make Visual Studio Add-in – One or more versions of the Mono Combined Installer for Windows Introduction (continued) ●Other Useful Tools – Gtk# Windows Help for Visual Studio – MonoLaunch – GRE Installer for Gecko# – Inno Setup and InstallerMaker – Cygwin and/or Msys Mono and Gtk# Installers for Windows ●Mono Combined Installer for Windows – Does not require .NET SDK or Redistributable – Does not require Cygwin – Contains sufficient libraries (GNU, GTK+ and GNOME) to satisfy the managed libraries that bind to them. – Does not touch the Global PATH or other environment variables – this is key to permit coexistence of different versions on the same
    [Show full text]
  • IJIRT | Volume 2 Issue 6 | ISSN: 2349-6002
    © November 2015 | IJIRT | Volume 2 Issue 6 | ISSN: 2349-6002 .Net Surbhi Bhardwaj Dronacharya College of Engineering Khentawas, Haryana INTRODUCTION as smartphones. Additionally, .NET Micro .NET Framework (pronounced dot net) is Framework is targeted at severely resource- a software framework developed by Microsoft that constrained devices. runs primarily on Microsoft Windows. It includes a large class library known as Framework Class Library (FCL) and provides language WHAT IS THE .NET FRAMEWORK? interoperability(each language can use code written The .NET Framework is a new and revolutionary in other languages) across several programming platform created by Microsoft for languages. Programs written for .NET Framework developingapplications. execute in a software environment (as contrasted to hardware environment), known as Common It is a platform for application developers. Language Runtime (CLR), an application virtual It is a Framework that supports Multiple machine that provides services such as Language and Cross language integration. security, memory management, and exception handling. FCL and CLR together constitute .NET IT has IDE (Integrated Development Framework. Environment). FCL provides user interface, data access, database Framework is a set of utilities or can say connectivity, cryptography, web building blocks of your application system. application development, numeric algorithms, .NET Framework provides GUI in a GUI and network communications. Programmers manner. produce software by combining their own source code with .NET Framework and other libraries. .NET is a platform independent but with .NET Framework is intended to be used by most new help of Mono Compilation System (MCS). applications created for the Windows platform. MCS is a middle level interface. Microsoft also produces an integrated development .NET Framework provides interoperability environment largely for .NET software called Visual between languages i.e.
    [Show full text]
  • Demo: Embedding Windows Presentation Foundation Elements Inside a Java GUI Application
    Demo: Embedding Windows Presentation Foundation elements inside a Java GUI application Version 10.1 jnbridge.com JNBridge, LLC jnbridge.com COPYRIGHT © 2002–2019 JNBridge, LLC. All rights reserved. JNBridge is a registered trademark and JNBridgePro and the JNBridge logo are trademarks of JNBridge, LLC. Java is a registered trademark of Oracle and/or its affiliates. Microsoft, Visual Studio, and IntelliSense are trademarks or registered trademarks of Microsoft Corporation in the United States and other countries. Apache is a trademark of The Apache Software Foundation. All other marks are the property of their respective owners. August 13, 2019 Demo: Embedding a WPF element inside a Java GUI application Introduction This document shows how a .NET Windows Presentation Foundation (WPF) control can be embedded inside a Java GUI application (either an AWT, Swing, or SWT application). If you are unfamiliar with JNBridgePro, we recommend that you work through one of the other demos first. We recommend working through the “Java-to-.NET demo,” which will work through the entire process of generating proxies and setting up, configuring, and running an interop project. This current document assumes such knowledge, and is mainly a guided tour of the code and configuration information necessary to embed .NET GUI elements inside GUI-based Java applications. The .NET GUI component In this example, we have provided a Windows Presentation Foundation control, WPFControlDemo.UserControl1. This control is adapted from the example in the first chapter of the book Essential Windows Presentation Foundation, by Chris Anderson (Addison-Wesley). Any WPF component to be embedded inside a Java GUI application must be derived from System.Windows.Controls.Control.
    [Show full text]
  • Logview Studio Linux Preparation with Mono
    LogView Studio Linux Preparation with Mono 2014 by Dominik Schmidt [email protected] © 2014 Dominik Schmidt / Holger Hemmecke I LogView Studio Table of Contents Part I Linux Prepare 1 1 SSH Co..n..n..e..c..t. ........................................................................................................................ 1 2 Raspbe..r.r.y.. .P..i. ......................................................................................................................... 4 System Prepar..a..t.i.o...n.. ............................................................................................................................................... 5 Mono .......................................................................................................................................................... 6 Install Mono......................................................................................................................................................... 7 Compile Mon..o.. .f.r..o..m.. .T..A...R....................................................................................................................................... 8 Compile Mon..o.. .f.r..o..m.. .G...I.T........................................................................................................................................ 9 Testing ......................................................................................................................................................... 10 3 Cubie.t.r.u..c..k.. .........................................................................................................................
    [Show full text]
  • NET Framework
    Advanced Windows Programming .NET Framework based on: A. Troelsen, Pro C# 2005 and .NET 2.0 Platform, 3rd Ed., 2005, Apress J. Richter, Applied .NET Frameworks Programming, 2002, MS Press D. Watkins et al., Programming in the .NET Environment, 2002, Addison Wesley T. Thai, H. Lam, .NET Framework Essentials, 2001, O’Reilly D. Beyer, C# COM+ Programming, M&T Books, 2001, chapter 1 Krzysztof Mossakowski Faculty of Mathematics and Information Science http://www.mini.pw.edu.pl/~mossakow Advanced Windows Programming .NET Framework - 2 Contents The most important features of .NET Assemblies Metadata Common Type System Common Intermediate Language Common Language Runtime Deploying .NET Runtime Garbage Collection Serialization Krzysztof Mossakowski Faculty of Mathematics and Information Science http://www.mini.pw.edu.pl/~mossakow Advanced Windows Programming .NET Framework - 3 .NET Benefits In comparison with previous Microsoft’s technologies: Consistent programming model – common OO programming model Simplified programming model – no error codes, GUIDs, IUnknown, etc. Run once, run always – no "DLL hell" Simplified deployment – easy to use installation projects Wide platform reach Programming language integration Simplified code reuse Automatic memory management (garbage collection) Type-safe verification Rich debugging support – CLR debugging, language independent Consistent method failure paradigm – exceptions Security – code access security Interoperability – using existing COM components, calling Win32 functions Krzysztof
    [Show full text]
  • Introductory Programming in C# Release 1.0
    Introductory Programming in C# Release 1.0 Andrew N. Harrington and George K. Thiruvathukal May 29, 2012 CONTENTS 1 Context 1 1.1 Introduction to the Notes.........................................1 1.2 Comments on Miles Chapter 1......................................1 2 C# Data and Operations 3 2.1 Development Tools............................................3 2.2 Lab Exercise: Editing, Compiling, and Running............................5 2.3 Comments on Miles Simple Data....................................9 2.4 Division and Remainders.........................................9 2.5 Substitutions in Console.WriteLine................................... 10 2.6 Learning to Solve Problems....................................... 12 2.7 Lab: Division Sentences......................................... 15 2.8 Homework: Grade Calculation...................................... 18 3 Defining Functions of your Own 23 3.1 Syntax Template Typography...................................... 23 3.2 A First Function Definition....................................... 23 3.3 Multiple Function Definitions...................................... 25 3.4 Function Parameters........................................... 26 3.5 Multiple Function Parameters...................................... 29 3.6 Returned Function Values........................................ 30 3.7 Two Roles: Writer and Consumer of Functions............................. 32 3.8 Local Scope............................................... 33 3.9 Static Variables.............................................
    [Show full text]
  • Appendix a and Appendix B
    This PDF contains 2 Appendices: Appendix A and Appendix B. Appendix A Answers to the Test Your Knowledge Questions This appendix has the answers to the questions in the Test Your Knowledge section at the end of each chapter. Chapter 1 – Hello, C#! Welcome, .NET! 1. Why can a programmer use different languages, for example, C# and F#, to write applications that run on .NET? Answer: Multiple languages are supported on .NET because each one has a compiler that translates the source code into intermediate language (IL) code. This IL code is then compiled to native CPU instructions at runtime by the CLR. 2. What do you type at the prompt to create a console app? Answer: You enter dotnet new console. 3. What do you type at the prompt to build and execute C# source code? Answer: In a folder with a ProjectName.csproj file, you enter dotnet run. 4. What is the Visual Studio Code keyboard shortcut to view Terminal? Answer: Ctrl + ` (back tick). Answers to the Test Your Knowledge Questions 5. Is Visual Studio 2019 better than Visual Studio Code? Answer: No. Each is optimized for different tasks. Visual Studio 2019 is large, heavy- weight, and can create applications with graphical user interfaces, for example, Windows Forms, WPF, UWP, and Xamarin.Forms mobile apps, but it is only available on Windows. Visual Studio Code is smaller, lighter-weight, code-focused, supports many more languages, and is available cross-platform. In 2021, with the release of .NET 6 and .NET Multi-platform App User Interface (MAUI), Visual Studio Code will get an extension that enables building user interfaces for desktop and mobile apps.
    [Show full text]
  • A Comparison of C++, C#, Java, and PHP in the Context of E-Learning
    A Comparison of C++, C#, Java, and PHP in the context of e-learning MIKAEL OLSSON KTH Information and Communication Technology Master of Science Thesis Stockholm, Sweden 2009 TRITA-ICT-EX-2009:8 A Comparison of C++, C#, Java, and PHP in the context of e‐learning Mikael Olsson April 30, 2009 Master’s Thesis in Computer Science Royal Institute of Technology Examiner: Prof. Gerald Q. Maguire Jr. ‐ i ‐ Abstract The first part of this master thesis presents an effective method for producing video tutorials. This method was used during this thesis project to create tutorials on the e- learning site PVT (http://www.programmingvideotutorials.com). Part one also discloses how the production method was developed and how tutorials produced using this method compare to professional video tutorials. Finally, it evaluates the result of this thesis work and the efficiency of the production method. The second part of this thesis compares the syntactical similarities and differences between four of the languages taught via video tutorials for PVT. These languages are: C++, C#, Java, and PHP. The purpose of this comparison is to provide a bridge for programmers knowing one of these languages to rapidly learn one or more of the other languages. The reason why this would be necessary is because there is no single language suited for every area of software development. Knowing a multitude of languages gives a programmer a wider range of job opportunities and more choices in how to solve their problems. Part two of the thesis also includes a comparison of Java and C# in the context of a video tutorial series that shows how to build a basic text editor.
    [Show full text]
  • Comparative Studies of 10 Programming Languages Within 10 Diverse Criteria
    Department of Computer Science and Software Engineering Comparative Studies of 10 Programming Languages within 10 Diverse Criteria Jiang Li Sleiman Rabah Concordia University Concordia University Montreal, Quebec, Concordia Montreal, Quebec, Concordia [email protected] [email protected] Mingzhi Liu Yuanwei Lai Concordia University Concordia University Montreal, Quebec, Concordia Montreal, Quebec, Concordia [email protected] [email protected] COMP 6411 - A Comparative studies of programming languages 1/139 Sleiman Rabah, Jiang Li, Mingzhi Liu, Yuanwei Lai This page was intentionally left blank COMP 6411 - A Comparative studies of programming languages 2/139 Sleiman Rabah, Jiang Li, Mingzhi Liu, Yuanwei Lai Abstract There are many programming languages in the world today.Each language has their advantage and disavantage. In this paper, we will discuss ten programming languages: C++, C#, Java, Groovy, JavaScript, PHP, Schalar, Scheme, Haskell and AspectJ. We summarize and compare these ten languages on ten different criterion. For example, Default more secure programming practices, Web applications development, OO-based abstraction and etc. At the end, we will give our conclusion that which languages are suitable and which are not for using in some cases. We will also provide evidence and our analysis on why some language are better than other or have advantages over the other on some criterion. 1 Introduction Since there are hundreds of programming languages existing nowadays, it is impossible and inefficient
    [Show full text]
  • Why and How to Migrate from .NET to .NET Core. - Oliver Ray, Managing Director @ Number8
    Why and How to Migrate from .NET to .NET Core. - Oliver Ray, Managing Director @ number8 There’s no time like the present when it comes to paying down technical debt, investing in high-value features, and keeping up with development house-keeping. These practices allow development velocity to skyrocket. And For most companies still utilizing .NET, migrating to .NET Core is the most impactful technical investment they can make right now. This transition will simplify your teams’ development cycles and have a measurable impact on your bottom-line. However, it can also include unforeseen complexities and dependencies, so it’s crucial that the planning and prep work is done throughly. Our team at number8 took the time to detail a few high-level benefits that every team should consider during this transition. So, let’s get started. Why migrate from .NET to .NET Core? .NET Core 1.0 was announced in 2014 and aimed to bring the .NET framework into the open source world. The ultimate goal of this initiative was to make .NET projects more portable to other platforms. With the explosion of commodity platforms like Linux and ARM64 processors, .NET had to become more open to survive. From it’s initial release .NET Core has continued to evolve to leverage a wide range of technologies that allow teams to develop systems in whatever way they see fit. A significant example of this forward thinking was early support for Docker containers and Kubernetes. Teams Start Planning everywhere are trying to rethink core enterprise Now applications to fully see the benefit of cloud tooling.
    [Show full text]