Through the binary

a full stack enthusiast interested in Javascript / Typescript / Kotlin / Python / React / React Native / (Android & iOS) native / Cloud

I love typescript. But after I gave flow a try, it really makes things easier in terms of react related thing. It could handle the redux immutable check and easy to start. But one problem is that sometimes you just can’t find type definition for the 3rd party libs as oppose to typescript, which is already widely adopted nowadays. So, how to solve it?

Read more »

next.js is really amazing to enable SSR with react. And flow.js is great way to type check your code in an easy way. But after following the official example to setup the project. I get the ESLint parsing error when it encounters the flow type definition. Let’s see how to solve it.

Read more »

Feathers.js is the most impressive back-end framework that I’ve seen in the node.js world. Like Django and Django rest framework in the python world. Similar API to express.js. And very productive as you can generate rest CRUD API in seconds while still highly customizable. And has a unique concept called service and hook which distinguish it from the others. Next.js is a library that you could use to do the react server-side rendering easily along with all the toolings. Previously I set up a project which uses these 2 to do SSR, I thought it should be very easy. But to my surprise, it took me a while. I think it worths to write a blog here to share what I learned. We will use feathers-cli to generate a fresh new codebase and start from there.

Read more »

We have an eye on Kotlin Native (KN) from day 1. I highly like its portability. You can generate universal package for both Android and iOS, or even Windows, OS X, Linux. Just share some of my thoughts here from my current experiences.

Read more »

I previously got a storyboard in XCode. It said prototype table cells must have reuse identifiers.. It’s just that easy. We need an identifier for the table cell. But the problem is, I DO NOT have any table cells in this storybaord. And I double checked its XML code, not even for a single word table… So, Why XCode continues notify me this? Let’s see how to solve this.

Read more »

Gradle is a famous build tool in JVM world. A build tool is just a tool to setup your project workflow. Gradle automates building, linting, testing, pushing and much more to make your life easier. Sometimes it can be hard to grasp how it works, even after reading the official documentation. Today, let’s get gradle up and running in a few minutes.

Read more »

Publishing an artifact to the maven center in the JVM world is not as easy as publishing a package to NPM in the Javascript world. I think it might be good to share my experience along the road to save your time in the future. I use kotlin to write this package, but it works with any jvm language though, you just need to make the build.gradle to handle your file.

Read more »

Kotlin native is a nice way to share your code between Android and iOS. And you can fully write an iOS app in Kotlin, and it’s not like Xamarin which has its own convention, Kotlin Native iOS follows Apple’s convention which just like write an iOS app in another language.

At least currently when this blog is written. The biggest disadvantage is the toolchain. And the hardest part is setting up the project. In this blog, I will show you 2 different ways to set up the project (without CLion, no need to touch that at all), one is to implement everything with Kotlin Native. The second is using Kotlin native as a lib, which generates an iOS framework for sharing the coding with existing Swift / Obj-C Xcode project.

This is a very independent way, even in the future, this blog should be still valid I suppose.

Let’s start!

Read more »

Redux is a great tool to manage your app state. But when you deal with the side effect like ajax call. The code will start to look like not that pure. In fact, we can make things right again using pure redux without any other libs. Your action could still be pure object. No more no less. Let’s check how to do that.

Read more »
0%