Providing a Better Developer Experience with the Expo Snack App
We simplified Expo Snack, creating a setup-free, web-based editor with instant device preview. Now, it’s more accessible for beginners and efficient for experienced developers.
Instant Preview
Starting a React Native project involves setting up the developer environment and tools, ensuring stability with dependency management like yarn.lock or package-lock.json to prevent sudden failures.
We aimed to create a zero-setup solution for instant real device preview and easy sharing. We faced several challenges in the process:
- Complex Setup: Traditional React Native development requires extensive setup.
- Platform Knowledge: Developers need to understand both web and native tools.
- Speed and Reliability: Running metro-bundler was slow and unreliable.
MINIMIZED SETUP
Leveraged Expo's development environment to reduce initial setup time.
WEB-BASED EDITOR
Used Ace Editor with custom ESLint for a smooth coding experience.
CUSTOM PACKAGER
Created bundles with Webpack, allowing easy module imports.
INSTANT PREVIEW
Enabled code preview on real devices via the Expo app by patching code changes dynamically.
To avoid running metro-bundler, we opted to patch code changes instead of rebuilding the entire bundle. We chose Ace Editor for the web-based editor, incorporating a custom ESLint build for linting.
BETTER DEVELOPER EXPERIENCE
- Students new to programming and React Native
- Web developers unfamiliar with device APIs and native apps
- Native developers exploring web app frameworks and React Native's UX potential
- React Native developers prototyping and sharing ideas
- Library maintainers creating examples and documentation
- Users providing reproducible cases for bug reports
- Speakers and workshop presenters conducting live coding sessions
We successfully met our initial goals and continue to enhance the experience with ongoing iterations and feature additions.
Key features include:
- A user-friendly web-based editor for rapid deployment without setup
- Instant preview on real devices via the Expo app
- Effective debugging with console logs
- Seamless sharing through easily accessible links
- Embeddable editor for documentation
Our commitment to reducing barriers and fostering experimentation with Snack is our contribution to the community, and we look forward to seeing the innovative ideas it sparks.
get in touch
Trusted by
“The team at Callstack are the most experienced and trusted engineers in the React Native community and ecosystem.”
Nader Dabit
DevRel + XD at EigenLayer / EigenDA
at Amazon Web Services