Game Changing Mobility

knowledge engineering blog

What makes Kotlin the fastest Growing Language?

Kotlin is an open-source, statically-typed language primarily developed by JetBrains programmers based in Saint Petersburg, Russia. Statically typed programming language means Kotlin performs type checking at compile-time as opposed to run-time.

kotlin

Java was once among the most popular, most favourite programming language, however, looking at the limitations and errors caused by Java, developers required a desperate rescue. That’s when the JetBrains developers created Kotlin which proved to be much more efficient than Java. Kotlin has advanced benefits in terms of reliability, efficiency, runtime performance and maintenance when compared to Java, yet fully interoperable with Java, provides seamless integration with Java frameworks and libraries, and support backward compatibility. Kotlin also boasts about the fact that fewer lines of code are required to solve a problem resulting in clean, concise, easy to write and understand the code. Kotlin is developed just recently and is already gaining popularity among developers. Kotlin is becoming a strong competition to Java. The common issues that are a cause of frustration to Java developers are well covered in this young rival.

In May 2017, Kotlin was named as the official language of Android by Google. The team just decided to name it after an island and that’s why the name Kotlin (from Kotlin Island, near St. Petersburg).

Stack Overflow says that Kotlin is becoming developer’s favourite programming language and is outranking languages like Python and JavaScript. According to some survey reports, around 80% of Kotlin developers are using Kotlin as a programming language, around 30% use it for Backend/server-side applications and another 30% use it for SDK/libraries.

Coursera, Atlassian, Basecamp, Pinterest, Keepsafe are already using Kotlin in their mobile applications.

 

What makes Kotlin the fast growing language?

  1. Concise – This is the biggest advantage of Kotlin over other programming languages that you can solve the same kind of problem using fewer lines of code with a reduced number of bugs and crashes. Also, it makes the code more readable, easy to make changes and to maintain.
  2. Safe – Kotlin helps developers write robust and stable code. Kotlin’s smarter and safer compiler detect errors at compile itself and perform lots of compile-time checks reducing runtime errors.
  3. Interoperable – Kotlin is fully interoperable with Java. The existing codebase can interact with Kotlin and all existing libraries in Android can be used in Kotlin as well.
  4. Better Productivity – As it requires lesser lines of code, results in better productivity.

There are other lots of features in Kotlin that will speed up the daily development tasks.

kotlin2
Kotlin has undoubtedly won the heart of developers and has become a highly competing programming language. As it is open source and bring all advantages of a modern programming language into the Android platform, it is a great fit for Android developers. Migrating to Kotlin will really be a piece of cake for them. With all the cool features of functional programming, Kotlin is only getting brighter and better in Android community, however, only time can tell whether the popularity achieved by Kotlin in Android community can be achieved in other communities.

- Susan B John

 

Google Fuchsia – What to expect

We know that Google already has two operating systems: Android and Chrome OS. Google is currently developing a new operating system called ‘Fuchsia’. Fuchsia is a cross-device, cross-platform and open source operating system from Google. The Android and Chrome OS are based on Linux kernel, whereas Fuchsia is based on new microkernel called ‘Zircon’(derived from operating system ‘Little Kernel’). Zircon is previously known as Magenta. Fuchsia is written in the mix of languages C, C++, Dart, Go, Python, Rust, Shell and Swift. The initial release was on 15 August 2016 on GitHub.

fuschia

Google has not yet revealed further details about Fuchsia at Google I/O officially. We are still awaiting to know more about Google’s vision on Fuchsia. There are different rumors surrounding the Fuchsia. We don’t know exactly what it’s for, whether if Google eventually replacing Android by Fuchsia, or just another project by Google.

Some interesting clues in the Fuchsia code suggest it can run on everything from dashboard infotainment systems for vehicles, on all gadgets, embedded devices like traffic lights and smart watches, all the way up to smartphones, tablets and PCs.

Advantages

  • Free and open source

  • Graphical User Interface: Fuchsia currently provides two different layouts, mobile design called ‘Armadillo’ and the traditional desktop design known as ‘Capybara’. The mobile design will drop the App Drawer and a shortcut model for a combined view of all recent apps, quick settings, Google Feed etc. The desktop design is still work in progress, using a taskbar that contains only time at right side, a placeholder for quick setting, and something like the start button at left side.

  • Cross-device OS: In today’s world, almost everyone has multiple devices like phone, desktop, laptop, tablet etc., Google is attempting to run Fuchsia in all devices simultaneously. Maintaining progress and context are some of the challenges with this implementation. If you have signed in with your Google Account on Fuchsia, then your applications get saved automatically across all the devices that are signed in with the same account. In Fuchsia, Google uses ledger as distributed storage, and everything is stored in cloud.

  • Split-Screen Mode: Fuchsia provides another new feature called ‘Split-screen mode’. Split-screen mode occurs when we drag one app onto another app, then we will enter split-screen mode with those all merged apps by taking up the top and bottom portions as per our linking takes place. We can add any number of apps into this group in order to use them all at once.

  • Security: Fuchsia provides more security than Android as encrypted user keys are built into the software to ensure that the information is protected every time there is an update in the software.

Armadillo – Mobile layout

Armadillo

Capybara – Desktop layout

capybara

In short, Fuchsia is Google’s attempt to unite the entire digital world under a single operating system. Not only it will look the same across a range of devices like various digital gadgets, PC, mobile phones etc., it is also designed to better accommodate voice interactions and provide more frequent security updates. We have to wait and watch to see whether Fuchsia would replace Android and Chrome OS or it would just become a part of them.

- Aswin Sasi

dApp development – An introduction

Hello Everyone! Has anyone ever heard of dApps? Don’t feel bad if you haven’t. Even I came to know about dApps just the past week. Let me tell you, it’s very interesting. Decentralized App in short for dApps is a storm of change in the tech world. Let’s see what dApp is.

By definition, “dApp is an open source application that operates autonomously on a decentralized public blockchain. It cannot be controlled by a single entity, and it generates and uses tokens by following a standard cryptographic algorithm.” 

dApp1

Let’s analyze the criteria that make an app dApp:

  • Open Source and Autonomous: dApp is open source, means, it is available for everyone from anywhere without any restrictions. It has the freedom to govern itself or control its own activities. Since the code is open source and managed autonomously, it is available for everyone for checking out. The changes are decided by all or the majority of the users.

  • Public blockchain: the underlying technology behind a dApp is BLOCKCHAIN (we will discuss in detail below), which should be public.

  •  Cannot be controlled by a single entity: Single entities can be interpreted as an operational unit. dApp, as the name indicates, is decentralized. Its control is spread all over the world. They do not come under influence of a person or an organization. dApps are free from control and interference from any single authority.

  • Generate and use tokens following a standard cryptographic algorithm: dApps generate and use tokens from every single entity it is performing. These tokens are encrypted using a standard cryptographic algorithm for security.If an app doesn’t meet all these criteria, then it is not a dApp. Based on the above definition, the first dApp ever built was Bitcoin. Bitcoin is an implemented blockchain solution that arose from problems revolving around centralization. One can say Bitcoin is a self-sustaining public ledger that allows efficient transactions without intermediaries and centralized authorities.

BLOCKCHAIN is the underlying technology behind dApp. Now let us look into the basics of blockchains for the better understanding of dApps.

What is BLOCKCHAIN and how it works?

BLOCKCHAIN is the technology that enables moving coins or assets from one individual to another. Always understand that Bitcoin ≠ Blockchain. The main use of blockchain is faster and reliable money transfer without a centralized third-party.

dApp2

Let’s take the above example. Suppose a Person A in America wants to send $10 to a person B in India, A is dependent on a trusted 3rd party for the process. However, the process takes time, about 3 days for the trusted 3rd party to find the correct Person B in India and pay him the money. They will also charge B an amount as their service amount which means person B receives only $8.5 after 3 days.

If this same process is done with the help of blockchain, there won’t be a third party. Also, you can send your money directly to the person without any delay and approximately no service charge. Blockchain technology, made possible to dis-intermediate third-party operators to exchange value online. This decentralized trust.

dApp3

Why dApps?

  • The best advantage of dApps is that you can own your own data. Your data is the most valued possession in this digital era. Anybody can access your data and you can earn with this concept.

  • Increased data reliability: Since dApps is decentralized, there won’t be any central server which stores every data. Data will be distributed everywhere so that there won’t be any broken links or 404 not found.

  • Faster data transfer: Sincedata is distributed across the world, number of peers will be more. Therefore, we can access data from the nearest peer. The download speed will be so fast as the number of peers increases.

  • Cannot be shut down: There are cases where some website, links or apps are not accessible for a person, region or country. For example, China blocked Facebook in 2009 June to stop a riot since Facebook was the main source of communication for the activists. Such cases won’t happen if dApps was in the scenario.

- Sneha Mohan

10 Things about Instant Apps

Hey All, I am writing this blog because I came across a very interesting topic known as Instant apps. After doing some research I realized that not many people know about this feature in Android. So, what are Instant Apps?? I’ll explain.

Instant Apps are Android apps which can run without installation. Yeah, That’s right!! Without installation. I too was confused at first, but I did some digging and found this to be a very interesting and useful topic to share.

Now I’ll tell you 10 things about Instant Apps.

1. Like the name suggests, Instant Apps are Android applications which can instantly run on a smartphone without any installation required. That means we save memory and downloading time. We just have to click on the provided URL and the user can enjoy the rich native experience.

Since the app can be accessed through URL, the access has become very easy. For example, URLs can be shared while chatting with friends or we may just as easily find them in google search results.

2. When we use android apps by downloading the APK, we can enter into the app only through the main screen or the first screen in the app, however, this is not the case with instant apps. With instant apps, we can directly view any screens provided in the app without having to view the first screen. We (the developer) can split the app into different modules and can assign a URL to each of them. In that way, the user can access any module they want.

3. Instant apps are not that different from the installable apps. They use the same package name, icons and code base. We can say that instant apps are a module of our existing app. They provide the same experience that we can get from the installable apps.

4. We all know that when regular installable apps go through the installation process, they get access to different device features like location or camera. But since instant apps are launched through URL, they do not follow any installation process so the runtime permissions API has to be used for accessing permissions like camera and locations etc.

5. To let the user have smooth flawless experience using instant apps, they should be as small as possible. To be clear, the app size should not be greater than 4MB. However, when the instant app is running, there is no limit to the amount of data which can be saved in the memory.

6. Development Tools.

Instant Apps img 1

Here are a few steps to get started with instant apps.
1. Install Android Studio 3.0 or above
2. Install instant apps SDK from the SDK manager
3. Click on App Links Assistant. It is located at Tools->App Links Assistant. This is used for generating URLs for our instant apps.

Instant Apps img 2

7. Sometimes we see a new app in the Play store, we hesitate to install it. We may ask ourselves questions like:” Do we need this app?”, “Do I have enough storage space for this app?” etc. Instant apps remove all such apprehensions.

When an instant app is uploaded to the Play store we will see a “Try Now” button near the install button. When clicked this button, the user is taken directly into the app without going through the process of installing the app. After using the app and pressing back button the app is and will not be shown on the phone.

This increases the amount of app installs that a developer has.

8. I had mentioned earlier that APKs with 4 MB or less only can be used in building Instant Apps. This may prove to be difficult for many developers. So, Google created a google play core library which can be used to download the extra features at runtime. With the help of this library, the instant app can stay at 4 MB but extra features which are less than 10 MB can be downloaded to the Android device.

Instant Apps img 3

9. Now, for those who need at least 10 MB for their APKs don’t have to worry either. Google started a new Beta program known as the 10 MB beta program, where the developers must answer a simple questionnaire before applying for the beta program. With this questionnaire, Google will decide if it is really difficult to reduce the app size to 4 MB and they will let you in the beta program accordingly.

10. For all those game developers out there, Instant apps are a good way to show off your games to the users without having them download it. We can save the progress of the game by using sessions or any storage APIs so that the users won’t lose their hard-earned gains when they exit the app. We can also provide an “Install Now” button inside the app so that the users can choose to install the app if they are interested.

I would like to conclude by saying that using apps without installation not only saves the storage space and mobile data but also opens new possibilities in the development world and we will be able to reach new milestones using this technology.

 - Benedict Thomas

Sustainable Mobile App Development – 7 Factors You Should Take Care

Mobile application development has driven every one into a state or period of uncontrolled excitement. As the mobile phones are important and obligatory part of daily life, 1000s of new mobile applications are released day by day both in Android and iOS. Yet only a handful will survive. It is not just development of an application, more over it is a business. Let as have a brief study over the important points to remember for successful development and launching of the app.

Continue reading

Accelerated Mobile Pages (AMP) – What to expect?

Accelerated Mobile Pages is an Open Source Initiative to overcome the slow and frustrating experience of web pages and to provide fast mobile experience. Google together with other publishers and technology companies found this solution – AMP Project to bring the whole internet to your mobile really fast – be it images or videos. AMP is a fantastic approach to make mobile web faster.

Continue reading

5 Strategic Advantages – Rapid Mobile Application Development Model (RMAD)

ebin-rapid1

Continue reading

Progressive Web Apps – The Future

sus-progress-1

Continue reading

Broadcast Announcements in Android

deepika1

Source: www.intertech.com

Continue reading

Why testing with Jasmine is fun?

Jasmine1

Continue reading

« Older posts