Welcome!

Microsoft Cloud Authors: Nick Basinger, Kevin Benedict, Pat Romanski, Liz McMillan, Lori MacVittie

Related Topics: Microsoft Cloud, Java IoT, Linux Containers

Microsoft Cloud: Blog Post

Five Reasons For Using C# For Enterprise Client Development

What is Open Source .Net Means To Enterprises

Enterprise Client Strategy  : As  the  Enterprise  Mobility  becomes  a  new  business model   it  is  no  longer a  question  of  just  choosing  a  programming  language  which  hither to  the  business is  not  that  much worried  as  long  as  the  platform and  languages  deliver  what  they  want.  Now  clearly  the  choice  of  Enterprise  Client  Platform    should  be  part of  long  term  vision  of enterprises  and  they should  consider  it  from  the point  of  view  of  sustenance  and  long  term  vision  more  than quick wins.

We  have  got  two  major  choices,

1.       Utilize  the  HTML5  and its growth  and  support  across  major  platforms  and  vendors and  its ability  to  run  across  devices. These  include  various MEAP  (Mobile Enterprise Application Platform)   suite of products  that  enable  development  of HTML5  based  applications.

2.       Utilize   C#  which  is  a  Objected Oriented  higher level language  as part  of  Microsoft  .net  framework  and   extend  it  with  Xamarin platform  to   develop  cross  platform  applications in a  single  code  base.

Here  below  I have  listed 5  reasons  why  the  Option  2  may  be  much  better for enterprises in the longer run.

1.Cannot  Discount Windows 10 Or  Desktops : Like  it  or  Hate it,   Windows  powered  desktops,  laptops,  tablets  and  devices  will  definitely   be  part  of  enterprises .  While  iOS  and  Android  powered   devices  will  definitely  make  an  entry,  any  approach  for  a  larger  client  strategy  has to evolve  around  Microsoft Windows  platform.  More  to  it ,  the  promise  of  Windows  10  and  it's Universal  app concept  will  definitely  have to  be  kept  in  mind.  Using  C# and   XAML  will  be one of the most preferred  way  to  write  Windows  10 applications.  With   the  support of Xamarin  this  means  that  C#  will   be  the  most  preferred  way  to  write  applications  across  Windows  10,  Android and  iOS.

2. User  Experience Will  Be  A  Deciding  Factor: As  enterprise  mobility  becomes  a  differentiator  for  businesses ,  much  richer  user experience  will  decide its  success  and   hence  a   natively  compiled application  that  takes  advantage  of  every  feature  and gesture  of  the  device  will  be  a preferred  path,  in that  context  developing  native  applications  using  C#  will  be of clear  advantage  to enterprises.

3. Adopting the  Device OS Life Cycle : As  each  device  operating  system  vendor  wanted  to differentiate  there  is  a  vast  difference  in their  native  app  structure  and  life  cycle. For example  an  iOS  app  has the following  Objects  as part of the structure:

  • UIApplication Object
  • AppDelegate Object
  • UIViewController Object
  • UIWindows Object

Also  it  has  got   specific  events  like  Touch, Location  etc..  and  it  the app  has different execution states.  In  contrast,   Android   applications  go  with an  Activity  Object  and  the  associated  events  and  application  states.  Similarly  a  Windows  10  application  has  a different  object  model and  events.  All  these  mean  a   best  of  a  native  application   can  only  be  written  if the  same  Object  Model, Life Cycle,  Event  Handling    are  inherited.  Such  an  Objected  Oriented  approach  is only  possible  with  a  true  Object  Oriented  Language  like C#   and  not HTML5.

4. Reuse  &  Developer Productivity : With  so  much  differences  in  the   Object  Model,  Life Cycle Events  and  application  states,   the  "Write  Once  Run   Where"  concept   can  only  be  true  for  applications  with  a  LCD (Least Common Denominator)  user  experience  across   devices,  which  means  to  gain  a  better user experience   native  development  has to be adopted.  But  when  adopting  native  development  utilizing  C#  with the  Support of Xamarin  will  help  the  enterprises  to  write   highly  reusable  code  across  devices.  Already  C#  is  a  high  level  objected  oriented  language  where  the   inheritance,  polymorphism ,  encapsulation  OOPS  concepts  are  part  and parcel  of it, with the  support of  design  patterns  like MVVM   using C#    we can  write  highly  reusable  code  which are   native, cross  platform  and  yet reusable.

As  an   additional  measure,   as  C#  is  also  a  strong  server  side  programming  language  for  developing  REST based  web  service  end  points  this  means  the  developer  productivity  will increase  many  a  times  with a  single  code base  from  an end to end perspective.

5.Long  Term Maintenance Perspective: The  previous  wave  of   web applications  have  started  some where in  early  2000  and  most  of them sustained  for   more  than  10 years  and more while  managing  multiple  changes  to  the  design patterns  and frameworks. For  example  Java  EE web development  has started  with  core  SERVLETS, JSPs  and  evolved  to  STRUTS, JSF  and  similarly  the  back end  code  from  DAO, EJB to Entity Frameworks.  This  means  the  base  programming  platform  has  to be  adaptable  to  the  new  design  thoughts  and  frameworks  as  we go  by.   As  we  expect   that this  wave  of   Enterprise  Client  development  targeting  Universal  devices   may  atleast  span  till 2020,  enterprises  should  think in  longer  term  perspective  which  again  a  high  level  objected oriented language  like C#   will  be  a  better choice.

In the last  15 years  any  mention  of  C#  in enterprise  space  will  generally  be countered  with a  support for Java.  However  the  above  thoughts  are  not  about  C#  Vs  Java.  Typically  both  Java and C#  are  equally  strong  in their   developer  support, OOPS principles and  productivity  needs.  But  unfortunately  Java at this  time  does  not have   a  universal  client  strategy  as  C# does  and  hence  C#  is  mentioned  as  a  choice  for  future  enterprise  client  development.

Considering  the  recent  announcements  about,   .net  core    is  now  part of  Open Source  initiative this  means  even  enterprises   which  are  bit  sceptic  about   using  a  commercial  platform  can  also find some  support for this thought  process.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).

IoT & Smart Cities Stories
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in ...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...