Thursday, July 28, 2016

Decline of App Economy

Though this article speaks about it on a different context, the loud message is mobile apps are on a saturation path with more than 2 million apps on the Apple and Google stores each. There are too many confusing choices and app loyalty is no more possible unless the app is enabling/serving a solid business on the field (like Amazon or facebook). That tells me we should never attempt to develop a mobile app unless we have a pioneering idea (which is very difficult after ~ 4M apps) or we own a sound non-IT business. Hoping to build a software platform that will be used by businesses themselves may be too much of a wishful thinking (Ex. a generic taxi app that could be used by many logistics companies and pay a fee for usage every time)

So what’s the alternative? Use web technologies to bring about an app-like experience. Don’t force the users to download your app, but let them see your offerings without app install rigors by giving the same experience in the browser. If the concept/experience is good, people would find it through google and use it since they don’t need to install anything. And this model is a good old one with 20 years of successful existence


Monday, July 4, 2016

Java VS Microsoft Technology Stack

When we started the Java practice, my ears were flooded with new technology names, but then they were doing just familiar jobs or taking up usual enterprise workloads which I was talking about or facing every day. I decided to list the technology options available in the Java and Microsoft worlds for my convenience


Java Ecosystem
.NET Ecosystem
Language
Core Java
C#, VB.NET
Web Development Framework
Servlets, JSP
ASP.NET MVC, ASP.NET Web Forms, ASP.NET SPA
Web Service Development Framework
Apache CXF, JAX-RS
ASP.NET Web API, WCF
Native GUI Application
AWT, Swing
WPF, Windows Forms
RAD Framework
JSF, Struts, Spring, Play, Spark etc.
.NET Framework, Enterprise Library etc.
Messaging Framework
Kafka, ActiveMQ
MSMQ
Message Transfer
JSON, XML
JSON, XML
Data Access Technology
Hibernate, JDBC, HSQL

Entity Framework, LINQ, nHibernate
Web Server
Tomcat
IIS
Application Server
WebLogic, Web Sphere, JBOSS
IIS
IDE
Eclipse, JBuilder, IntelliJ
Visual Studio.NET
Source Code Repository
GIT, SVN, Perforce etc.
TFS, VSS, VS Online etc.
Build/Continuous Deployment Tool
Ant, Maven, Gradle, Jenkins
TFS, MS Release Management
Unit Testing Frameworks
JUnit, TestNG, Mockito

VS.NET Unit Testing, NUnit
Static Code Analysis
SonarCube, PMD etc.
Style Cop, Code Analysis Tool, Resharper