Skip to content

saulsharma/apple-news-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

372 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Apple News Clone with Expo

A universal iOS News app clone built with React Native and Expo, delivering a native experience across iOS, Android, and Web platforms.

πŸš€ Live Demo

✨ Key Features

  • πŸ’£ Works on Android, iOS, and Web
  • πŸ”„ Native gestures and transitions
  • 🎡 Podcast Player with full playback controls
  • πŸ“² iOS-specific features:
    • Live Activities for sports scores
    • Home Screen Widgets
    • Watch support
    • Context menus and peek previews
  • 🀏 Swipe actions like 𝕏 (Twitter)
  • πŸ” Smart search with keyword highlighting
  • ⚑️ Example Server Components (RSC) integration
  • ↕️ Drag & sort favorites

πŸ›  Tech Stack

Core

Navigation & Routing

Animation & Gestures

Data & State

  • MMKV - Ultra-fast storage

UI Components

Native Features

πŸ“± Installation

  1. Clone the repository:
git clone https://github.com/saulamsal/apple-news-ui
  1. Install dependencies (using bun or npm):
cd apple-news-ui
bun install
# or
npm install
  1. Start the development server:
bun run start
# or
npm start
  1. Run on your preferred platform:
# iOS
bun run ios
# Android
bun run android
# Web
bun run web

πŸ§ͺ Experimental Features

Some features are in development and may be unstable:

  • React Server Components integration
  • Watch app support
  • Background audio controls
  • Enhanced Live Activities

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is MIT licensed.

πŸ™ Acknowledgments

Data Sources

Podcast Data

TODO

Audio

  • Replace expo-av with expo-audio
  • Lock screen player implementation
  • Lock screen controls
    • Pending react-native-track-player support for new architecture
    • Alternative: Wait for expo-audio lock screen control support

UI/UX

  • Shared transitions (Currently broken in Expo 52)
  • Fix long press behavior - Details view and context menu conflict
  • Optimize navigation performance during audio playback (25% complete)
  • Fix /audio/[id] not playing on web when not loaded via MiniPlayer click

Other

  • More robust RSC examples

About

Apple News UI for iOS, Android, and Web

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages