Saturday, December 14, 2013

Cross-Platform C# Development

Imagine you have an idea for a great application that will make millions of users happy. But what users - Windows users, Mac users, Linux users, iOS users, Android users, Chrome OS users? You should pick one or should you? We all know about the Mono project and Xamarin that let you write C# code that runs on different platforms, but this is not enough, because all these platforms have different APIs the C# code is bound to, so you will have to write different C# code for each platform. Fortunately, a new solution has been presented recently that provides really cross-platform C# development, which means that you write your C# code once and it runs on all platforms with no modifications needed! Meet the Nevron Open Vision.

Nevron Open Vision (NOV) gives you a rich platform independent framework and user interface that lets you build C# applications for multiple platforms using a single codebase. That is possible, because Nevron Open Vision does not use any platform dependent APIs, all the components you need for your applications are coded from ground zero in such a way that they look and behave the same on all platforms. All you have to do to make sure your application will run on all supported platforms is to use only the controls and the utilities provided by NOV framework. Speaking of controls and utilities, Nevron Open Vision has much to offer:

  • A rich set of user interface widgets - buttons, check boxes, radio buttons, tabs, sliders, progress bars, scroll bars, group boxes, layout panels, color pickers, calendars and many more.
  • Rich text control - makes it easy to show and edit complex formatted texts, to load and save them in various formats such as DOCX, RTF and HTML and to export to PDF. It also supports loading and saving Electronic publications (a.k.a. e-books in EPUB format), so you can also use it to create e-books and magazines.
  • Diagram and map controls - provide a powerful framework for creating diagramming solutions ranging from simple school diagrams to complex enterprise diagramming applications. Includes powerful automatic layouts, a lot of predefined shapes, library stencils and much more. The diagramming component supports a lot of popular diagramming and drawing formats like Visio Drawings (VSDX), Visio Stencils (VSSX), AutoCAD Drawing Interchange (DXF), Scalable Vector Graphics (SVG), Genealogical Data Communication (GEDCOM - used for family tree diagrams) and so on. The mapping component provides support for importing map data from ESRI shapefiles, more than 20 map projections, map fill rules, map arcs and so on.
  • Schedule control - a widget for showing and organizing of appointments and recurring events. Supports multiple view modes (Day, Week, Month, Timeline) and import and export to the popular iCalendar format, so you can easily import/export data from/to Google Calendar, Microsoft Outlook and many other popular scheduling applications. The control also supports generation of QR codes for the appointments so that you can add them directly to the calendar app of your smartphone or tablet.
  • Chart control - lets you create highly customizable professional charts and dashboards with ease. Includes support for more than 50 charting types.
  • Gauge control - provides support for instrumentation widgets like linear and radial gauges, knobs, indicators and numeric displays.
  • Barcode control - lets you create a wide range of linear (1D) and matrix (2D) barcodes including Codabar, Code 39, Code 93, Code 128, EAN 8, EAN 13, ISBN, ITF 14, MSI, Pharmacode, Post Net, Telepen, UPC-A, UPC-E, QR Code, PDF 417 and many others.
  • Theme support - you can make your application look like a Windows 7, Windows 8, Windows XP, Windows Classic or a Mac OS app with a single line of code.
  • Own windowing system - this makes it possible to have windows in Silverlight, which behave the same as the windows on your desktop!
  • Fully featured graphics engine - includes support for complex geometries (graphics paths, polygons, bezier and NURBS curves, etc), area operations and the most popular image formats, including animated GIFs. Displaying of vector images like windows metafiles (WMF) and enhanced metafiles (EMF) is also supported.
  • Compression and decompression - makes it easy to compress and decompress ZIP, password protected ZIP (i.e. encrypted ZIP files), ZLIB, BZIP2 and GZIP archives with C#.
  • Formula engine - provides support for complex formulas and calculations. Formula expressions can be assigned to all DOM properties across the framework, which can save a lot of code, event handling, checks, etc.
  • Multiple platforms support - currently your C# code based on the NOV framework can run on WinForms, WPF, Silverlight and Mac OS X, but as more hosts are released your NOV based application will automatically be able to reach new markets such as Linux, iOS, Android and you won't have to even lift a finger.

If you have a browser which supports the Silverlight plugin (e.g. Internet Explorer and Mozilla Firefox) and you have that plugin installed, you can check out what Nevron Open Vision is capable of at the following webpage: Nevron Open Vision Live Demo.

I have started the article with a question about what users your C# application should target. As this article demonstrated, the answer is that you don't have to choose anymore - you can target them all with a single C# codebase. Of course, such solution isn't free, but at a price of $1.50 per day it's really a no-brainer for C# applications that should target multiple platforms as it will save you a lot of time, money and, most important, headaches in the long run.

See also:

No comments:

Post a Comment