Wednesday, May 24, 2017

Kotlin: Android Programming Language

Kotlin Programming Language

Kotlin Is Now a Supported Android Language @ InfoQ
"Google has added Kotlin to the short list of programming languages supported for Android development, which are Java and C++. Among reasons for choosing Kotlin, Google mentioned it being "concise, expressive, and designed to be type- and null-safe" and also "many Android developers have already found that Kotlin makes development faster and more fun." Another important reason was that Kotlin is a language fully interoperable with Java and running on the JVM."

GitHub Desktop on Electron & TypeScript

GitHub Rewrites its Desktop Client Using Electron @ InfoQ
joins Atom, VS Code, Slack and many other apps, to reduce cost and complexity supporting multiple native platforms.

GitHub Desktop | Simple collaboration from your desktop

Screenshot of GitHub Desktop running on Windows

javascript - How does Electron differ from Cordova ? How do I implement/wrap Cordova APIs to use NodeJS APIs in electron? - Stack Overflow
  • "Cordova apps are web apps packaged as mobile apps with special API
  • Electron apps are Node apps with windows that contain web apps"

XAML Standard: UWP + Xamarin Forms

Microsoft Standardizes XAML Across UWP and Xamarin @ InfoQ

"Announced during BUILD 2017, Microsoft has made public the first draft of the XAML Standard, a markup dialect meant to unify how user interface elements are defined.
Microsoft wants to unify some of the existing XAML dialects, planning to create version 1.0 some time later this year. After that, they plan on enhancing UWP and Xamarin.Forms (iOS, Android) to support the standard, making it possible to share UI definitions between the frameworks."

XAML was originally crated for WPF, but WPF is not part of unification plan. Instead, suggestion is to try converting WPF to UWP first.

All this is not even remotely close to usability of original visual controls and original Visual Basic.
There is just too much complexity now, since platforms are different. It is amazing that it works. And C# is a productive language and tool-set.

Web controls are also coming, in browsers, as well as in frameworks and libraries like React and Angular. Web and native can even be mixed by React Native, Appcelerator Titanium or Telerik NativeScript. The only possible common element seems to be JavaScript... Then there are "bots" with new class of text and voice based UI.

Ideally, extensible semantic web based controls, and TypeScript-like JavaScript could enable a whole new class of modular, transform-able & compose-able apps/services. Technically this is possible even now, just not simple.