Mobile Development 20 min read

From JavaME to iPhone: Lessons from Renren’s Mobile Platform Evolution

This article traces the four stages of mobile terminal development, compares major smartphone operating platforms, and details Renren's practical experiences in unifying architecture, server design, and cross‑platform mobile development from JavaME browsers to iPhone and Android solutions.

ITFLY8 Architecture Home
ITFLY8 Architecture Home
ITFLY8 Architecture Home
From JavaME to iPhone: Lessons from Renren’s Mobile Platform Evolution

Discussing the evolution of mobile operating platforms requires first reviewing the development of mobile terminals, which over the past decade can be divided into four stages.

First stage: functional terminals – basic communication like SMS and calls, with simple games.

Second stage: intelligent terminals – extensible third‑party apps and basic internet browsing, exemplified by Nokia S60.

Third stage: internet‑centric platforms – tighter integration of browsers, streaming, and apps, turning phones into platforms (iPhone, Android, Windows Phone 7).

Fourth stage (future): IoT‑enabled smart terminals – deeper coupling of real life and network via sensors.

We are currently in the third stage, where diverse user preferences and manufacturers' market positioning create a fragmented OS landscape, leading to multiple mobile operating platforms.

The six mainstream platforms are Symbian, Android, iPhone OS, MTK, Windows Mobile, and WP7, each with distinct strengths and weaknesses.

Symbian – historically dominant, low‑cost, many apps, but facing pressure from Android and iPhone.

Android – open source, highly customizable, but fragmentation can hinder third‑party app compatibility.

iPhone OS – premium UI and ecosystem, success tied to Apple hardware adoption.

Windows Mobile – lagging in UI, usability, and app support.

MTK – closed, limited extensibility, targeting low‑end markets.

WP7 – Microsoft/Nokia collaboration, unique UI, potential to compete with Android and iPhone.

These platforms affect product designers and developers because each defines UI controls and interaction patterns, making cross‑platform development costly and complex.

Renren’s mobile journey

Renren (formerly 校内网) began mobile development in late 2008 using JavaME, quickly realizing the difficulty of porting rich SNS features to small screens.

After a failed JavaME client (v1.0) and a modest beta (v1.2), the team built a JavaME‑based browser engine called Across, modeled on WebKit, but performance and memory constraints prevented its release.

In 2009, with Android 1.5 and iPhone entering China, Renren shifted to native iPhone and Android clients, adopting a “tab + view‑stack” navigation model inspired by Facebook’s iPhone app, allowing independent navigation stacks per tab and solving back‑navigation issues.

Despite differing development languages (Java for Android, Objective‑C for iPhone, C++ for Symbian, C# for WP7), the team recognized the impracticality of a single codebase across all platforms.

Server‑side architecture

Renren uses a JavaEE stack with a REST‑style MVC web layer built on a custom framework Rose (based on Spring), an SOA layer XOA for business services, and a custom ORM Jade for data access, all open‑sourced.

Data persistence relies on MySQL with horizontal sharding and a proprietary key‑value store called Nuclear, which can scale to thousands of nodes, offering high reliability and performance (≈15 862 req/s per node, 5 ms latency).

High‑performance services are built with ICE (C++/Java) for compute‑intensive tasks, while Memcached pools provide distributed caching.

Web servers run Resin, load‑balanced with F5 or Nginx, and are stateless to avoid session replication.

Mobile clients communicate via HTTP/JSON APIs, with gzip compression, optional Protocol Buffers, and batch request handling to reduce latency and data usage on low‑end devices.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Mobile DevelopmentiOSAndroidServer ArchitectureRenrenPlatform Evolution
ITFLY8 Architecture Home
Written by

ITFLY8 Architecture Home

ITFLY8 Architecture Home - focused on architecture knowledge sharing and exchange, covering project management and product design. Includes large-scale distributed website architecture (high performance, high availability, caching, message queues...), design patterns, architecture patterns, big data, project management (SCRUM, PMP, Prince2), product design, and more.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.