Android SDK vs TypeScript

Need advice about which tool to choose?Ask the StackShare community!

Android SDK

26.5K
20.2K
+ 1
799
TypeScript

91.3K
70.5K
+ 1
502
Add tool

Android SDK vs TypeScript: What are the differences?

Introduction

In this article, we will compare the key differences between Android SDK and TypeScript. Android SDK is a software development kit specifically designed for developing applications for the Android platform, while TypeScript is a statically typed superset of JavaScript that compiles to plain JavaScript.

  1. Language Support: Android SDK is primarily used for developing applications using the Java programming language, whereas TypeScript is a superset of JavaScript and supports both JavaScript and TypeScript code. This means that TypeScript can be used to develop applications for multiple platforms, including web, desktop, and server, whereas Android SDK is specifically focused on Android development.

  2. Platform Compatibility: Android SDK is specifically designed for developing applications for the Android platform, which means that the applications developed using Android SDK can only run on Android devices. On the other hand, TypeScript can be used to develop applications for a wide range of platforms, including web browsers, Node.js, and even cross-platform mobile app development frameworks like React Native.

  3. Development Environment: Android SDK requires the use of specific development tools like Android Studio, which is an integrated development environment (IDE) for Android development. On the other hand, TypeScript can be developed using any text editor or IDE that supports JavaScript, giving developers more flexibility in choosing their development environment.

  4. Community and Documentation: Android SDK has a large and active community of developers and a vast amount of official documentation and resources available. This makes it easier for developers to find support and resources when developing Android applications. While TypeScript also has a growing community and good documentation, it may not be as extensive as Android SDK due to its broader application scope.

  5. Compilation and Runtime: Android applications developed using Android SDK are compiled into bytecode and are executed using the Android Runtime (ART) or the Java Virtual Machine (JVM). TypeScript, on the other hand, is compiled into plain JavaScript and can be executed in any JavaScript runtime environment, such as web browsers or Node.js.

  6. Performance and Efficiency: Android SDK, being specifically optimized for the Android platform, offers better performance and efficiency when developing applications for Android devices. TypeScript, while providing a more developer-friendly and productive environment, may be slightly less efficient in terms of performance due to the additional compilation step from TypeScript to JavaScript.

In summary, the key differences between Android SDK and TypeScript lie in their supported languages, platform compatibility, development environment, community support, compilation and runtime, and performance and efficiency. While Android SDK is focused on developing applications specifically for the Android platform, TypeScript is a more versatile language that can be used for web, desktop, and server development.

Advice on Android SDK and TypeScript
Needs advice
on
TypeScriptTypeScript
and
Flow (JS)Flow (JS)

From a StackShare community member: "We are looking to rewrite our outdated front-end with TypeScript. Right now we have a mix of CoffeeScript and vanilla JavaScript. I have read that adopting TypeScript can help enforce better code quality, and best practices. I also heard good things about Flow (JS). Which one would you recommend and why?"

See more
Replies (14)
Recommends
on
TypeScriptTypeScript

I use TypeScript because:

  • incredible developer tooling and community support
  • actively developed and supported by Microsoft (yes, I like Microsoft) ;)
  • easier to make sense of a TS codebase because the annotations provide so much more context than plain JS
  • refactors become easier (VSCode has superb support for TS)

I've switched back and forth between TS and Flow and decided a year ago to abandon Flow completely in favor of TS. I don't want to bash Flow, however, my main grievances are very poor tooling (editor integration leaves much to be desired), a slower release cycle, and subpar docs and community support.

See more
Recommends
on
TypeScriptTypeScript

I use TypeScript because it isn't just about validating the types I'm expecting to receive though that is a huge part of it too. Flow (JS) seems to be a type system only. TypeScript also allows you to use the latest features of JavaScript while also providing the type checking. To be fair to Flow (JS), I have not used it, but likely wouldn't have due to the additional features I get from TypeScript.

See more
David Koblas
VP Engineering at Not disclosed · | 9 upvotes · 163.1K views
Recommends
on
TypeScriptTypeScript
at

We originally (in 2017) started rewriting our platform from JavaScript to Flow (JS) but found the library support for Flow was lacking. After switching gears to TypeScript we've never looked back. At this point we're finding that frontend and backend libraries are supporting TypeScript out of the box and where the support is missing that the commuity is typically got a solution in hand.

See more
Forrest Norvell
engineering manager at self-employed · | 6 upvotes · 253.1K views
Recommends
on
TypeScriptTypeScript

I use TypeScript because the tooling is more mature (the decision to discontinue TSLint in favor of moving all its checks to ESLint is a thoughtful and mature decision), there's a ton of examples and tutorials for it, and it just generally seems to be where the industry is headed. Flow (JS) is a fine tool, but it just hasn't seen the uptake that TS has, and as a result is lacking a lot of the nicer small things, like thorough Visual Studio Code integration, offered by TS.

See more
Recommends
on
TypeScriptTypeScript

We currently use TypeScript at work. Previously we used Flow (JS) but it was sometimes really difficult to make the types work the way you want. Especially non-trivial types were problematic. And the IDE support wasn't good, Flow took too much resources and sometimes remain stuck and do not show errors (I use Visual Studio Code). With TypeScript we almost do not have these problems. IDE support is superb, working with types is much easier and typing system seems more mature and powerful. There are some downsides (like partion inheritance etc.), but TS team is still pushing it forward. So for me TypeScript is clear winner.

See more
Tim Abbott
Recommends
on
UnderscoreUnderscore
at

We use Underscore because it's a reasonable library for providing all the reasonable helper functions missing from JavaScript ES5 (or that perform poorly if you use the default ES5 version).

Since we're migrating the codebase to TypeScript , we'll likely end up removing most usage of it and ultimately no longer needing it, but we've been very happy with the library.

See more
Recommends
on
TypeScriptTypeScript

I use TypeScript because it's adoption by many developers, it's supported by many companies, and it's growth. AngularJS, React, @ASP.NET Core. I started using it in .NET Core, then for a job. Later I added more Angular experience and wrote more React software. It makes your code easier to understand and read... which means it makes other people's code easier to understand and read.

See more
Recommends
on
TypeScriptTypeScript

I use TypeScript for Web Applications and for both frontend and backend because it has a lot of tooling around it and they really got the types and type safety right. Flow (JS) on the other hand lacks tooling and most of the times I scramble to find the right way of building my contracts in which TypeScript is very intuitive and natural. Additionally TypeScript is very similar to Java so your backend engineers and full stack engineers can work with it without much of context switch.

The only time I think Flow shines is (based on probably my outdated knowledge) Flow is/was the only option if you want/wanted to build a React Native application mainly because React Native transpiler at the time I was working with it would only work with flow.

See more
Frédéric MARAND
Core Developer at OSInet · | 2 upvotes · 135.3K views
Recommends
on
TypeScriptTypeScript

I use TypeScript because I tried both on a Meteor project, and found the quantity of errors it enabled us to catch and the simplification of code it allowed was higher than Flow (JS).

See more
Recommends
on
TypeScriptTypeScript

I use TypeScript because of broad support, on tools, repos, community ... the only reason to consider flow is if you're a facebook employee

See more
Recommends
on
TypeScriptTypeScript

I use TypeScript because it's the most mature/issue-free Javascript type-checker available, as far as I've seen.

See more
Recommends
on
TypeScriptTypeScript

If you will start a project from scratch I recommend to use TypeScript. But, If you work with legacy projects written in JavaScript I recommend Flow (JS). Both tools have the same objective: reduce the bad code (which create illegible code, generate bugs e problems to maintenance). Flex helps you to avoid fall in bad codes, but TypeScript prevent you to c you to create bad codes. I believe cause this some JavaScript fans don't like TS, because TS block you to write some types o code. This is the fundamental difference between TS and Flow: Flow avoid problems, but no force. TS force you to prevent problems.

See more
Rafael Avaria
Ingeniero civil en electrónica · | 1 upvotes · 121.8K views
Recommends
on
TypeScriptTypeScript

I use TypeScript because i love to program in Angular and used in node as well

See more
Damian Esteban
CTO @ betterPT at BetterPT · | 1 upvotes · 123K views
Recommends
on
TypeScriptTypeScript
at

I recommend TypeScript. When used correctly, TypeScript can enable your application to be scalable, easy to refactor, safe, and stable. One of the biggest draws of working with any typed language is that it forces you to think about your functions' inputs and outputs. This is invaluable as it can lead to more declarative, functional style code that ultimately can be easier to reason about.

TypeScript is however not a silver bullet. Just like anything new it takes time to fully understand the concepts of types, interfaces, abstract classes, and enums. In my experience engineers who excel when using TypeScript are those who have experience working with a statically typed language.

See more
Decisions about Android SDK and TypeScript
Omran Jamal
CTO & Co-founder at Bonton Connect · | 7 upvotes · 563.5K views

We actually initially wrote a lot of networking code in Kotlin but the complexities involved prompted us to try and compile NodeJS for Android and port over all the networking logic to Node and communicate with node over the Java Native Interface.

This turned out to be a great decision considering our battery usage fell by 40% and rate of development increased by a factor of 2.

See more
Vladyslav Holubiev
Sr. Directory of Technology at Shelf · | 3 upvotes · 139.3K views

As our codebase grew in size, we were looking for ways to improve code quality. We chose TypeScript over Flow due to its rapid industry adoption and overall tools support.

We noticed how different open-source projects were migrating from Flow to TypeScript. Most notably, it was Jest, even though Jest and Flow were both developed by Facebook. See this HN thread if you want to dive into an interesting discussion around this move.

Additionally, at the beginning of 2019, both Babel and ESLint enabled seamless TypeScript support, which allowed easy migration path in a backward-compatible way.

See more
Oleksandr Fedotov
Senior Software Engineer at joyn · | 4 upvotes · 120.5K views

Initially making a decision to use Flow vs Typescript we decided to go with flow as we wanted our code to run in a way we wrote it, because when using Flow types are simply removed from the code without modifying the code itself. Sadly, the type system of Flow was in some cases very hard to understand and declare the types correctly, especially in cases when the structure is very dynamic (e.g. object keys and values are created dynamically). Another reason was bad integration with IDE and frequent crashes which made DX very poor. Therefore, we made another evaluation of Typescript and decided to move towards it. As our code base was pretty big when we decided to migrate to TS we couldn't just stop and re-write everything, that's why we started writing new modules in Typescript as well as transforming old components. To make that possible we had to configure Webpack loader to support simultaneous bundling of Flow&JS and Typescript. After around 2 months of the transformation we have around 40% of code being written in Typescript and we are more than happy with integration TS has with IDE, as well as ease of declaring types for dynamic modules and functions.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Android SDK
Pros of TypeScript
  • 289
    Android development
  • 155
    Necessary for android
  • 128
    Android studio
  • 86
    Mobile framework
  • 82
    Backed by google
  • 27
    Platform-tools
  • 21
    Eclipse + adt plugin
  • 5
    Powerful, simple, one stop environment
  • 3
    Free
  • 3
    Больно
  • 174
    More intuitive and type safe javascript
  • 106
    Type safe
  • 80
    JavaScript superset
  • 48
    The best AltJS ever
  • 27
    Best AltJS for BackEnd
  • 15
    Powerful type system, including generics & JS features
  • 11
    Compile time errors
  • 11
    Nice and seamless hybrid of static and dynamic typing
  • 10
    Aligned with ES development for compatibility
  • 7
    Angular
  • 7
    Structural, rather than nominal, subtyping
  • 5
    Starts and ends with JavaScript
  • 1
    Garbage collection

Sign up to add or upvote prosMake informed product decisions

Cons of Android SDK
Cons of TypeScript
    Be the first to leave a con
    • 5
      Code may look heavy and confusing
    • 4
      Hype

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Android SDK?

    Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment.

    What is TypeScript?

    TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Android SDK?
    What companies use TypeScript?
    See which teams inside your own company are using Android SDK or TypeScript.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Android SDK?
    What tools integrate with TypeScript?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Android SDKBugsnagLeakCanary+3
    5
    1081
    Jul 16 2019 at 9:19PM

    Bugsnag

    JavaAndroid SDKBugsnag+3
    3
    430
    GitHubDockerReact+17
    40
    36314
    GitHubPythonNode.js+47
    55
    72354
    What are some alternatives to Android SDK and TypeScript?
    Android Studio
    Android Studio is a new Android development environment based on IntelliJ IDEA. It provides new features and improvements over Eclipse ADT and will be the official Android IDE once it's ready.
    Ionic
    Free and open source, Ionic offers a library of mobile and desktop-optimized HTML, CSS and JS components for building highly interactive apps. Use with Angular, React, Vue, or plain JavaScript.
    React Native
    React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.
    Flutter
    Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
    Xamarin
    Xamarin’s Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry’s most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.
    See all alternatives