It’s more than 3 years since I started working on NativeScript. Working on an OSS project is different from anything I did before so I decided to share some of my experience. Here are some of the lessons I learned working on OSS and as usually happens all these lessons were discovered by many other …
Author Archives: mslavchev
How Android Instant Run Works
Today I installed Android Studio 2.0 Beta 7 and I really enjoyed one of its new features, namely Instant Run. We built a similar feature for NativeScript, named LiveSync, so I was curious to how Instant Run feature works. The first thing I noticed is instant-run.jar placed in <my project>/build/intermediates/incremental-runtime-classes/debug directory. This library provides Server class …
Thirty Years After
I found this wonderful Turbo Pascal ad while browsing InfoWorld 3 Jun 1985 issue. With more than 250,000 users worldwide Turbo Pascal is the industry’s de facto standard. Turbo Pascal is praised by more engineers, hobbyists, students and professional programmers than any other development environment in the history of microcomputing. And yet, Turbo Pascal is …
Software Performance Engineering
Every time we build software we have functional requirements. Maybe these functional requirements are not well defined but they are good enough to start prototyping and you refine them as you go. After all, the functional requirements describe what you have to build. Sometimes, you have additional requirements that describe how your software system should …
What’s New in Chakra JavaScript Engine
A few weeks ago I decided to install Windows 10 Mobile Insider Preview on my Nokia Lumia 630 and played a little bit with it. Since then, I have completely forgotten about it until yesterday when I saw a notification for pending software update (10.0.12562.84). So I grabbed the opportunity to see what changed in …
NativeScript Performance – Part 2
The last two weeks I was busy with measuring and optimizing the performance of NativeScript for Android. My main focus was the application startup time and I would like to share some good news. Results Let’s first see the results and then I will dig into the details. As in the previous tests I uses …
On NativeScript Performance
Overview Last week NativeScript made it into public beta and just for a few days we got tremendous amount of feedback. One question that came up over and over again was, “How do NativeScript Apps Perform”? In this post, I want to explain the details behind performance and share some great news with you about …
Java Class Inheritance in NativeScript for Android
One of the more advanced scenarios in NativeScript for Android is the inheritance of Java classes. Let’s take a look at the following example. // app.js var MyButton = android.widget.Button.extend({ setEnabled: function(enabled) { // do something } }); var btn = new MyButton(context); (Please note that at the time of writing NativeScript is in private …
Continue reading “Java Class Inheritance in NativeScript for Android”
Efficient IO in Android
What could be simpler than a file copy? Well, it turned out that I underestimated such an easy task. Here is the scenario. During the very first NativeScript for Android application startup the runtime extracts all JavaScript asset files to the internal device storage. The source code is quite simple and it was based on …
First Impressions using Windows 10 Technical Preview for phones
Windows 10 Technical Preview for phones was released two days ago and today I decided to give it a try. The installation process on my Nokia 630 was very smooth and completed for about 30 minutes including the migration of the old data. Finally, I ended up with WP10 OS version 9941.12498. After I used …
Continue reading “First Impressions using Windows 10 Technical Preview for phones”