Android Studio 3.2 Beta
android-developers.googleblog.com
android-developers.googleblog.com
JetPack is thoughtful collection of APIs along documentation, essentially providing solid guidelines on "how to write a modern android app". Good to see Google embarrassing Single Activity as well as reactive binding/view model patterns, and providing a standard way to implement it.
Then you have Auto.. I mean ConstraintLayout replacing all the other layouts, which is a good step forward too.
Android KTX looks good too, although it does seem to be a bit a odds with Anko? Or maybe not at odds, but looks like it has the same goal as Anko, to provide syntax sugar for Android Development in Kotlin. Could be interpreted as a "no" from Google in regards to Anko. As I really like Anko I wish there was more clear stance of what the future of Anko is.
You probably meant "embracing", but a funny autocorrect nevertheless.
The two ways people develop apps seem to be going fully native, or using web "masks" like react native, outright web directly, or something like apache cordova. Neither of which seem to be the focus of android studio.
Curious.
The worst possible IDE in any world + the worst possible build system in any world = Android Studio.
If it works the first time you are lucky, if it breaks you are on your own.
It's like people would use npm without ever reading how the package.json file is structured... and then complaining how everything is broken because their copy-pasted internet text broke the build.
Some minimal standard of competence and knowledge is required for you to basically function.
My AS Emulator starts in about 20 seconds from a cold start and in a couple seconds from a saved image state.
>If it works the first time you are lucky, if it breaks you are on your own.
The people that work on the AS Emulator are on the Androidev reddit quite regularly to answer any questions regarding new releases.
Also saw regression creep in in more and more other intellij products.
I know very little about Android development, though.
People can shit on how Google integrates with it, but the IDE itself is top notch.
Because if so that is quite wrong. The overwhelming majority of Android apps, existing and under development, are made as traditional byte code apps. Among more intensive games, things like game engines are more common (e.g. Unity, Unreal Engine, etc), but that's a specialized case.
As to the web apps, that remains kind of the worst of all possible solutions. People who are wed to the traditional web often ply that course, but it certainly isn't most common.
I think the decision is a layer below "Android Studio" -- or -- it depends on how you slice & dice what Android Studio is.
If you look at the ancestor of Android Studio as being IntelliJ, Jetbrains (not Google) did make a version of that IDE (CLion) for C/C++ native.
However, if you look at the Android operating system philosophy, it seems like Google (Andy Rubin) decided that a Java-like (Dalvik) VM is the 1st class programming model with native C/C++ (NDK[1]) being 2nd class. The Android Studio being Java-focused is just a downstream side effect of that.
I think the author of the post is complaining about lack of JavaScript or similar support in the IDE :)
Right, but I was responding to gp's question about "focus" of the IDE and not just about the extended capabilities (plugins) for NDK.
The "focus" of Android Studio is Java and example of that is when you click "New Project", you will get "MainActivity.java" as the starting file. You don't get "MainActivity.cpp".
In the full Clion IDE (not the CLion plugin), the focus is C++ because the "New Project" auto-generated file is "main.cpp".
>I think the author of the post is complaining about lack of JavaScript
The gp used the phrase "neither of which" that seems to refer back to "two ways" and therefore it includes question about native C/C++ being a possible "focus" for Android Studio.
I'm saying that whether Android Studio evolves to write "MainActivity.js" (Javascript React/Cordova) or "MainActivity.cpp" (C++ native) -- it is a philosophical decision outside of Android Studio. In other words, the Dalvik/Java VM as the foundation seems to dictate the programming tools' "focus". Maybe if Google makes a drastic change to Android and make the V8 engine the underlying runtime instead of Dalvik, the "focus" of Android Studio would then switch to "Javascript".
Even what is called a native activity isn't really one, because what Google did was standardize a common pattern many were doing before as android.app.NativeActivity, with a bunch of native methods that the .so is expected to expose.
And android.app.NativeActivity is pretty thin anyway, because it doesn't provide a good way to work with permissions or SAF from native code.
Given that they locked down the NDK on Android 7, require JNI for like 80% of the APIs and Brillo was rebooted as Android Things, that says pretty much how they see the NDK for general use.
Which is why most NDK users keep implementing their own versions of NativeActivity anyway.
Android Studio has the C/C++ plugins from CLion if that is what you mean.
How are Java/Kotlin apps non native in Android when they're first class languages that are compiled to native code? AS also supports Android C/C++ development if you need bare metal speed and complete control.
>The two ways people develop apps seem to be going fully native, or using web "masks" like react native, outright web directly, or something like apache cordova. Neither of which seem to be the focus of android studio.
Last time I viewed the percentages of what frameworks Android apps were developed in these web based frameworks ranked extremely low.