My Professional Profile

I am Johnson Augustine Sr.Software Engineer and System Architect. I have 10 Yrs of hands on expertise in ASP.net MVC 5 , Angular 5 , C# MVC Razor, WPF MVVM , Android , IOS Swift 3 , IOS11 MSSQL,MySQL Database,,PHP,C/C++/Visual C++/G++/QT++,Com,DirectX,Open CV,EMGU CV , embedded System Development , [Raspberry PI]. ,html,Javascript,Jquery,Ajax.CSS , Networking ,Cyber security, Ethical Hacking You can see my professional profile at http://linkedin.com/in/johnsontaugustine Email : johnsonaugustine@live.com

Friday, 17 November 2017

gRPC Vs REST

The transport layer works using HTTP/2 on top of TCP/IP. It allows for lower latency (faster) connections that can take advantage of a single connection from client to server (which makes more efficient use of connection and can result in more efficient use of server resources.

HTTP/2 also supports bidirectional connectivity and asynchronous connectivity. So it is possible for the server to efficiently make contact with client to send messages (async response/notifications, etc..)

While, both REST and gRPC can generate client/server stubs (using something like swagger for REST), REST has a limited set of primary 'function' calls (or verbs):

+-----------+----------------+
| HTTP Verb |      CRUD      |
+-----------+----------------+
| GET       | Read           |
| PUT       | Update/Replace |
| PATCH     | Update/Modify  |
| DELETE    | Delete         |
+-----------+----------------+


whereas gRPC you can define any kind of function calls including synchronous/asynchronous, uni-direction/bidirectional(streams), etc..

Using gRPC the client makes a call to a local method. To the programmer, it looks like you're making a local call, but the underlying layer (the auto-generated client stub) sends the call to the server. To the server it looks like it's method was called locally.

gRPC takes care of all the underlying plumbing and simplifies the programming paradigm. However, to some dedicated REST purists, this may seem like an over-complication.


https://grpc.io/docs/

Sunday, 5 November 2017

Android 8.0 Oreo New Features & Changes

it's official — the newest version of Google's mobile operating system is called Android 8.0 Oreo, and it will soon start rolling out to Nexus and Pixel devices. This new version has plenty of changes in store, ranging from revamped looks to under-the-hood improvements, so there's tons of cool new stuff to explore.
If you own a non-Google flagship device like the Galaxy S8 or OnePlus 5, you'll likely have to wait a few months before Android Oreo hits your own phone. But if you're curious about this new version, or if you have a Nexus or Pixel to test it out on, let's go ahead and take a look at all of the new features and functionality in Android 8.0.
Redesigned Settings Menu
Revamped File Manager
Battery-Saving Background Restrictions
Snooze Individual Notifications
Fingerprint Scanner Gestures
Turn on Wi-Fi Automatically
More Granular Storage Controls
Picture-in-Picture Mode
New Battery Menu
Autofill Framework
Rescue Party
Notification Channels
Adaptive Icons
Hi-Fi Bluetooth Codecs
Arrow Key & Tab Navigation
Pixel Launcher App Drawer Improvements
Wider Color Gamut in Apps
Wi-Fi Aware
Notification Badges on the Home Screen
No More 'Unknown Sources' Setting
Battery Percentage Indicator Tweaks
Battery & Connection Indicators in Quick Settings
'Powered by Android' on Boot Screen
Package Installer Progress Bar
Smart Text Selection
Overlay Sticky Notification
New Emojis

Visual studio 2017 and c#7

In C# 7, a lot of new features have been introduced, and also enhancement have been done for some features. I will be covering all those things in context of Visual Studio 2017 RC. Given below is the list of features

Local functions or nested functions
Binary Literal
Digit Separators
Pattern matching
ref returns and ref Locals
Tuples (Tuples Enhancement)
Throw Expressions
Expression Bodied Members (some more expression bodied members in C# 7)
Expression bodied Methods (C# 6.0)
Expression bodied Properties (C# 6.0)
Expression bodied constructor (C# 7.0)
Expression bodied destructor (C# 7.0)
Expression bodied getters (C# 7.0)
Expression bodied setters (C# 7.0)
Out variables (enhancement for out variables)
Deconstruction
In the above list, I have mentioned only 10 new features of C# 7 but there are some more features like Generalized async (Generalized async return), Replace (Partial Class Enhancements) Records (or Record Types) Non-Nullable Reference Types, Immutable Types etc.
Some of the features are not yet supported in Visual Studio 2017 RC and are still under development. Even C# 7 has not been developed completely and still it is in preview mode. You can ignore some of the features of C# 7 right now and focus on the features which can be tested in Visual Studio 2017 RC.



Share to Face book in IOS 11 Swift

This problem for iOS 11 with Facebook Share (in my case, FBSDKShareDialog in Objective-c) is fixed by upgrading to the latest Facebook API frameworks. Via pods, that is currently as follows:

 pod 'FBSDKCoreKit', '~> 4.27.0'
  pod 'FBSDKLoginKit', '~> 4.27.0'
  pod 'FBSDKShareKit', '~> 4.27.0'

https://cocoapods.org/?q=facebook%20share




Angular Js 5 Features





Progressive Web Apps
Use modern web platform capabilities to deliver app-like experiences. High performance, offline, and zero-step installation.

Native
Build native mobile apps with strategies from Ionic Framework, NativeScript, and React Native.

Desktop
Create desktop-installed apps across Mac, Windows, and Linux using the same Angular methods you've learned for the web plus the ability to access native OS APIs.

Code Generation
Angular turns your templates into code that's highly optimized for today's JavaScript virtual machines, giving you all the benefits of hand-written code with the productivity of a framework.

Universal
Serve the first view of your application on node.js, .NET, PHP, and other servers for near-instant rendering in just HTML and CSS. Also paves the way for sites that optimize for SEO.


Code Splitting
Angular apps load quickly with the new Component Router, which delivers automatic code-splitting so users only load code required to render the view they request.

Templates
Quickly create UI views with simple and powerful template syntax.

Angular CLI
Command line tools: start building fast, add components and tests, then instantly deploy.

IDEs
Get intelligent code completion, instant errors, and other feedback in popular editors and IDEs.

Testing
With Karma for unit tests, you can know if you've broken things every time you save. And Protractor makes your scenario tests run faster and in a stable manner.

Animation
Create high-performance, complex choreographies and animation timelines with very little code through Angular's intuitive API.

Accessibility
Create accessible applications with ARIA-enabled components, developer guides, and built-in a11y test infrastructure.

IOS 11 Removed Features


iOS 11 adds a lot of new and interesting features. From the redesigned Control Center, the new App Store to the new multitasking on iPad. But in the process, iOS has also removed some features. Here are the features you’ll no longer see in iOS 11.

1. No Native Twitter and Facebook Integrations
2. N0 32 Bits Apps Support
3. iCloud Drive App Replaced with Files
4. No Home and Now Playing Panels in Control Center
5. No Control Center Gesture in iPad
6. No Two Pane Widgets in iPad
7. No Shortcut for Refreshing App Store
8. No 3D Touch App Switcher
9. No Swiping Up to Close Apps on iPad
10. No Ability to Search in Purchases



No Native Twitter and Facebook Integrations IOS 11

iOS 11 removes the native sharing features. You can no longer log in with Twitter and Facebook directly in iOS 11. Integrations for Vimeo and Flickr have also been removed. This means that third-party developers (like Tweetbot) won’t be able to connect directly to social media accounts using your default details. They’ll now need to connect using the official apps (that you’ll need to have installed).