From Punched Cards to Prompts
AndroidIntroduction When computer programming was young, code was punched into cards. That is, holes were punched into a piece of cardboard in a format...
Technology is always growing and improving, so it’s always good to know what new things are around the corner.
In the spirit of the new year, I’d like to share some of the things I’m excited to learn more about in 2019.
If you’re not yet familiar with WebAssembly (Wasm for short), it’s a new binary format for web applications. Engines like Unity or languages such as Rust, C, C++, Kotlin, or Reason can compile to Wasm.
As Wasm takes off, developers will be able to develop apps in Rust, C, Reason or other languages that compile into WebAssembly and deploy them to the web.
Wasm is already supported in all 4 major browsers and we’ll see more widespread usage in 2019.
Wasm offers many benefits, such as trivially being able to call a module in one language from a module in another language.
Other benefits include smaller binaries sent to the browser and built-in obfuscation.
Next steps for Wasm include formalizing its specification; creating better tooling; and improving support for threading, exception handling, and garbage collection.
For more info, check out the WebAssembly future features tracker.
Gary Bernhardt’s 2014 talk “The Birth & Death of JavaScript” about the future of JavaScript and Wasm is quickly becoming reality.
I encourage you to watch the talk!
It’s funny, insightful, and paints a good picture of your job as a developer might look like in a year or two.
His talk makes me think that instead of having all of our apps in an electron container, maybe we’ll just compile down to Wasm and deploy on the web.
Late in 2018, Samsung announced plans to sell a foldable device in 2019.
Rumor has it Samsung’s foldable phone will sell for more than $1,600.
That may be too expensive for most people.
Not to be outdone, other device manufactures like Huawei, Motorola, and LG have filed patents for foldable phones and we could see them offer a foldable device in 2019.
Nobody knows if anyone actually wants to buy these, though.
If you’re interested in learning more about getting your apps ready for Android’s foldable devices, check out the article I wrote about Android’s upcoming support for foldable phones.
4G let us share more real-time content and stream video on the go.
5G wireless connectivity will start arriving in 2019, and it increases bandwidth and reduces latency.
4G connection latency is about 20 milliseconds. 5G promises to reduce that to 1 millisecond.
The increased connectivity of 5G will allow IoT devices and smart cars to communicate with each other and share information faster.
Drones, augmented & virtual reality will use 5G speeds to enhance the experience by sending higher definition video and allowing users to chat and live-stream in real time.
But don’t expect 5G connectivity to change everything overnight; there are rumors that Apple will not offer 5G devices until 2020.
Most likely there won’t be a majority of 5G devices until about 2022.
AT&T is currently offering 5G hotspots.
Samsung is partnering with AT&T and Verizon to launch their first 5G phones in the first half of 2019.
Like it or not, notches in your smartphone screen are here to stay.
Both the flagship Android and iPhones have one for their sensor housing and cameras to ensure an edge to edge display.
Now some Android manufacturers like Sharp and ZTE are adding a second notch for fingerprint scanners or forward-facing speakers.
One alternative to adding more notches is placing the sensors under the display.
The OnePlus 6T, Huawei Mate 20 Pro, Oppo R17, Xiaomi Mi 8 Explorer Edition, Vivo V11 Pro, and Vivo Nex all contain an in-display fingerprint reader.
Samsung will most likely include an in-display camera for selfies on the Galaxy S10.
If people like it, expect other manufacturers to add it to their phones as well.
React Native is still popular and will continue to be.
But 2018 saw well-known adopters Airbnb and Udacity publicly break-up with the technology.
At the same time, new options for multiplatform development have arisen such as Flutter and Kotlin/Native.
Flutter has its first stable release at 1.0 and the Flutter team tells us many other apps have shipped to production with flutter! At the Flutter Live event Google developers announced new features such as support for webviews, maps, and taking payments with Square.
Other big news included improved support for adding Flutter to an existing iOS or Android project and experimental support for building apps for macOS, Windows, Linux, and the Web with Hummingbird.
Unlike Flutter or React Native, Kotlin/Native doesn’t aim to unify UI logic across platforms.
Instead, it supports code sharing by compiling for Linux, macOS, iOS, Android, Windows, & WebAssembly and supporting two-way interoperability in the codebase.
For a good primer, check out the Kotlin/Native overview page.
I recommend checking out the KotlinConf, droidcon NYC, and droidcon SF apps as examples of what can be built with Kotlin/Native.
These are just a few of the things that excite me about tech in 2019.
What new technologies are you interested in?
Let us know in the comments!
Introduction When computer programming was young, code was punched into cards. That is, holes were punched into a piece of cardboard in a format...
Jetpack Compose is a declarative framework for building native Android UI recommended by Google. To simplify and accelerate UI development, the framework turns the...
Big Nerd Ranch is chock-full of incredibly talented people. Today, we’re starting a series, Tell Our BNR Story, where folks within our industry share...