Telegram-iOS released v7.3 last week with the new group voice chats and other improvements. My previous post about building and running in Simulator is not working for several reasons:
[Read More]
"Magic Trick" of Galaxy App Booster
I happened to try an app called Galaxy App Booster that is a part of Galaxy Labs released by Samsung. It claims that it can optimize all apps on device and boost the overall performance by 5% to 15%. It’s attractive and many users are using it on non-Samsung phones...
[Read More]
Build and Run Telegram-iOS v7.2 in Xcode 12.x Simulator with Buck
Telegram started the program of “Reproducible Builds for iOS and Android” to release its client source code in a more regular schedule. Although it’s a great move, you may find it’s still confusing how to build and run the iOS project with minimal effects. The official guide is present to...
[Read More]
Porting Dual-Pivot Sort and Timsort from Java to Go
Most programming languages provide sorting APIs in their built-in libraries. Java and Go use different sorting algorithms, I implemented Java’s algorithms in Go with different approaches as an exercise. It’s a fun way to understand some design choices in both languages.
[Read More]
Source Code Walkthrough of Telegram-iOS Part-7: Link Preview and Instant View
Telegram builds a set of features to make users consume content inside the app. This article explains why Telegram needs these features and how they are implemented efficiently.
[Read More]
Source Code Walkthrough of Telegram-iOS Part 6: Bubbles
Bubbles is a type of UI that‘s almost an integral part of our daily life. It’s a trivial job if a message is either a piece of plain text or one image file. The problem in Telegram is difficult as there are many message elements, such as texts, styled texts,...
[Read More]
Source Code Walkthrough of Telegram-iOS Part 5: AsyncDisplayKit
Telegram-iOS builds most UIs upon AsyncDisplayKit. It’s folked as a submodule of the project, in which many features have been removed and some of them are re-implemented in Swift. This post talks about the component structure and the UI programming pattern in the project.
[Read More]
Source Code Walkthrough of Telegram-iOS Part 4: MTProto Connections
TCP is the only active MTProto transport on Telegram-iOS as I explained in the previous post. Let’s continue with the implementation details of connection management for MTProto.
[Read More]
Source Code Walkthrough of Telegram-iOS Part 3: Other Foundations
Let me use one more post to finish the introduction of the foundation modules of the project.
[Read More]
Source Code Walkthrough of Telegram-iOS Part 2: SSignalKit
Telegram-iOS uses reactive programming in most modules. There are three frameworks to achieve reactive functions inside the project:
[Read More]
Source Code Walkthrough of Telegram-iOS: Part 1
Telegram is one of the most popular instant messengers in the market. As of April this year, its MAU has passed 400 million. It’s a great achievement considering its service is not available in some countries.
[Read More]
Safe Type Casting in Objective-C with 'instancetype'
instancetype is a relative new keyword in Objective-C language. Besides its general usage scenarios, it can be leveraged for safe casting. The approach is simply a category to NSObject:
[Read More]
Part I: How to Choose a JavaScript Engine for iOS and Android Development
DISCLAIMER: the post contains my personal opinions on the subject. I would appreciate it if you could correct my mistakes.
[Read More]
OpenAphid-Engine v0.2.1f Release and Discontinuation Announcement
OpenAphid-Engine was born as an exploration project at the first half year of 2012 when I quit my day job. Its mission was to figure out the most efficient way to integrate a full JavaScript engine within native iOS/Android games.
[Read More]
FlipView for Android v0.9.7 Released
FlipView v0.9.7 is released with various performance improvements and bug fixes.
[Read More]
FlipView for Android v0.9.6 Released
FlipView v0.9.6 is released with various bug fixes and enhancements.
[Read More]
FlipView for Android v0.9 Beta Released
I’m happy to announce the first release of FlipView, an Android UI component which help add flipping animation in your application. Please download and install the pre-built demo APK file to check out it in action:
[Read More]
How to Handle Touch Events in Flip Animation
** Updates at 2012-12-12: ** Please checkout FlipView for an improved solution.
[Read More]
Tutorial: Exposing Java Methods to JavaScript in OpenAphid-Engine
OpenAphid-Engine for Android v0.1.5 supports exposing Java methods as JavaScript functions, which is helpful for integrating 3rd-party services into games. The binding APIs are similar to its iOS version.
[Read More]
OpenAphid-Engine Android v0.1.5 Released
We’re pleased to release v0.1.5 of OpenAphid-Engine Android.
[Read More]