Open Source & Free

6. Signup Form - Terms and Conditions

Module 13: Creating a Facebook Clone The first real signup screen is intentionally simple, and that is exactly why it matters. This is where the reusable signup shell proves itself and where the rest of the wizard’s visual language starts becoming concrete. The form itself is mostly content and framing: a clear title, explanatory text, a prominent next action, and supporting links below. Because the structure was abstracted in the previous lesson, the screen-specific code can stay focused on meaning rather than layout plumbing. ...

Codename One

7. Signup Form - Name, Birthday and Gender

Module 13: Creating a Facebook Clone These middle signup stages are where the wizard starts feeling like a real product instead of a static mockup. The screens are still simple, but they exercise a wider range of input patterns: paired text entry, date selection, and mutually exclusive choices with visual emphasis. ...

Codename One

8. Signup Form - Phone, Email, Password and Confirmation

Module 13: Creating a Facebook Clone The final signup stages are less about new UI ideas and more about keeping the flow coherent as the user approaches completion. That makes this lesson mostly a test of whether the earlier abstractions were worth building. The answer is yes. Phone-number and email entry are almost the same screen, and the code treats them that way without forcing them into a confusing generic abstraction. This is a good example of restraint. Similar screens can share a helper without erasing the fact that they represent slightly different decisions in the flow. ...

Codename One

9. The Main Form

Module 13: Creating a Facebook Clone Once the signup flow is in place, the app finally needs a home. This lesson builds that shell: the tabbed main form that holds the news feed, friends, notifications, and “more” sections together. That shell is more important than it first appears. A social app is mostly movement between adjacent sections of one large experience. If the outer navigation structure feels wrong, the whole app feels fragmented no matter how good the individual screens are. ...

Codename One

10. Client Data Model - User, Post and Comment

Module 13: Creating a Facebook Clone There is a moment in every UI-heavy project when the mockup stops being “just screens” and starts forcing you to define the underlying data. This is that moment for the Facebook clone. The lesson introduces User, Post, and Comment as property-based business objects, and that is the right direction for this app. A social product is full of structured data that needs to move between storage, server communication, caching, and UI. Codename One properties fit that problem well because they reduce a lot of repetitive plumbing. ...

Codename One

11. ServerAPI Abstraction Mockup

Module 13: Creating a Facebook Clone Once the client data model exists, the next architectural step is to stop letting the UI imagine that data comes from nowhere. Even if the real backend is not ready yet, the app should already talk to an abstraction that looks like a server boundary. ...

Codename One

12. The Newsfeed Container

Module 13: Creating a Facebook Clone This is the lesson where the Facebook clone starts feeling alive. The news feed is the first screen in the app that combines real scrolling content, structured models, reusable view fragments, and a data source that looks like a real server. ...

Codename One

13. Friends Container

Module 13: Creating a Facebook Clone After the feed, the friends screen feels almost relaxing. It is a simpler UI, but it still has enough moving parts to show how the same data and styling ideas can support a different kind of social surface. The lesson makes a sensible choice by using a regular scrollable container instead of InfiniteContainer. Not every list in an app needs infinite loading just because one important screen does. Friend requests and suggestions are finite enough here that a simpler structure keeps the code easier to understand. ...

Codename One

14. Notifications Container

Module 13: Creating a Facebook Clone Notifications are one of the places where a social app starts feeling reactive instead of static. This lesson adds that layer without overcomplicating it. The notification screen is basically a specialized feed: timestamped items, user identity, a short action summary, and a visual reaction marker that hints at why the notification happened. ...

Codename One

15. The More Container

Module 13: Creating a Facebook Clone The “more” tab is where large apps often reveal whether they still have any structural discipline. It can either become a dumping ground for leftovers or a clean overflow area for features that do not deserve top-level navigation. This lesson takes the second path. The screen is intentionally simple, but it still treats the section as a real part of the app by giving entries consistent icon treatment, spacing, and text hierarchy. That is enough to make the area feel deliberate even before most of its destinations are implemented. ...

Codename One