Hacker News new | past | comments | ask | show | jobs | submit login
Repl.it – React Native mobile apps in browser (repl.it)
319 points by nabraham on May 8, 2017 | hide | past | favorite | 61 comments



Hey, ceo/cofounder of Repl.it here. Was pleasantly surprised to see this on HN! React Native and Expo has taken the world of mobile development by storm and we're happy to play a part in spreading this amazing technology.

Many of you might know us from being one of first in-browser REPLs (for 30+ programming languages https://repl.it/languages). Our mission is to make programming more accessible and that's why, more recently, we've been also working on tools for educators wanting to teach programming. Our Classroom product (https://repl.it/classrooms) makes it easy for anyone to teach programming online and in physical classrooms.

Happy to answer any questions.


1. Im a happy repl.it user.

2. Do you think that native gui widgets could be emulated on the browser in order to do native development on your platform?

3. Will you offer a pipeline from repl.it to app stores? One click publish sort of thing.


I'm happy that you're happy.

> 2. Do you think that native gui widgets could be emulated on the browser in order to do native development on your platform?

A lot of users request support for things like Python Tkinter for example, and while it's possible (e.g. stream via VNC) we always try to balance our users' requests and where we believe programming is headed. For example, there has been a massive shift from native GUI to web-based tech (even on the desktop via Electron).

> 3. Will you offer a pipeline from repl.it to app stores? One click publish sort of thing.

Yes, we're considering that and not just for React Native for other platforms as well. Imagine building a web service on Repl.it and hosting it with one click!


I think regarding native interface elements, the original commenter is asking regarding React Native components that are native to IOS or Android.


That's already supported via Expo :)


Big fan of repl.it. I've been teaching kids how to code for a couple years - count me as fan. Good luck Amjad & Haya!


I really like the idea of using Repl.it for teaching React Native using your classrooms product. There are 2 things that I think might make it more useful. Integration with https://appetize.io/ and allowing multiple files.

Appetize.io would allow people to use, play, and share this without having install Expo on their device (even though that's already a very low bar). Also, I think after learning some basic React Native concepts, it'd be useful to create multiple React Components in multiple files.


Multiple files is coming soon!

As for Appetize, will check it out. For now I have to reiterate that Expo is magical in that after you download the mobile app it's seconds and you're up and running and then running the code on the phone is sub-second.

I've said it before but Expo is the first bootstrapped mobile development environment and I think we're just scratching the surface with what can be done with this tech.

That being said I'll check out Appetize and if it's not too expensive will look into integrating it.


Nice. I think multiple files is more helpful. Expo on a device is pretty easy to get going. I mainly recommended appetize because I think it's a useful feature used in Snack when you click "preview"


Hey, I'v used Repl.it a fair amount for Python in the past. Seems like you've built a really nice tool which has lots of languages supported. Out of curiosity, how are you funded?


Was a side project in hibernation that didn't cost anything to run. Around 2015 we revamped the site and added a lot of features which caused us to grow a lot and became too expensive to run and maintain. Quit my job last year and raised a seed round but still try to keep burn rate to a minimum and hope to start making money soon.


Best of luck :)


The title is confusing me a bit. This is writing/deploying react native apps in a browser, right? As opposed to running them in a browser.


That's correct, it'd be great if the title was changed by the mods.


Hi- Cofounder of Expo here. Was really fun to work with the Repl.it team on this. This came out really well. It's such a good way for novices to learn to make mobile apps.


Can you explain the difference between https://snack.expo.io/ and https://repl.it/languages/react_native?

They both seem like browser based code editing tools to make a react native app. Why the partnership with repl.it? Do they have a larger use base and thus give you visibility?


There's a discussion about this on this page here: https://news.ycombinator.com/item?id=14296631


But can I render my React Native for Web app in an in-app webview, on Repl.it?


My brain hurts


React web apps only run in the browser, React-Native apps can run natively on iOS and Android and as web app in the browser.


Not currently. But we'll implement it if enough people want it. We have a Canny board where people can vote on new languages/stacks for us to support:

https://replit.canny.io/languages-requests


Small world! I consider myself really lucky to have worked with you (Amjad) and Andrew (Canny Founder) on the React Native team in 2014/2015. Great times!

Canny, repl.it, plus Expo of course.. you're the React Native mafia!


It was such a great time and especially awesome working with you Eric!

"React Native mafia" -- love it! :D


Eric!! Crazy seeing RN, Replit, Expo, and Canny all in one thread at the top of HN. :D


So I hear you like apps in your apps, and mobile in your web on your mobile.


if you run it on NodeOS, sure


There And Back Again: A React Developer's Tale


FYI - I just released this:

Dynamic, Responsive Layout for Universal and Orientation-Aware React Native Apps (works in Expo, XCode et al): Flexbox-based layout library that makes building Universal layouts in React Native more fun and much easier than using Flexbox and JS directly.

Repo: https://github.com/idibidiart/react-native-responsive-grid

aspectRatio demo: https://m.youtube.com/watch?v=Nghqc5QFln8

breakPoints demo: https://www.youtube.com/watch?v=GZ1uxWEVAuQ


> an SDK like XCode

"Xcode"


Thanks will fix it (but only reluctantly because Apple is at fault here)


Love Amjad and Repl.it!!!! :D


(Please downvote if my comment is off-topic)

Is it possible to support creating and deploying Minecraft server mods using repl.it?

At one point (2-3 years ago) my son was interested in doing this but the pain of installing Java, an IDE (NetBeans), getting started in Java programming and deploying it on a vanilla Minecraft server was just too much.

Or are there better options now for Minecraft server mod programming?


Hey, we've looked at Minecraft and I think it's a great game to encourage kids to learn to code. In fact a lot of teachers teach Python and Java on Repl.it so that their students can learn how to tinker with Minecraft.

There are a couple of startups out there that try to help with Minecraft modding. Check out Tynker and I think Code.org has something on Minecraft.

If you have any specific ideas on how we can help with this please shoot me an email amjad@repl.it


Hey, at their ED event last week Microsoft announced a platform specifically designed at teaching kids coding with Minecraft -- seeems right up what you are looking for!

https://thenextweb.com/gaming/2017/05/02/minecraft-code-buil...


If running two installers is a pain maybe programming is a wrong area to be interested in.


I disagree. When you're just starting out all this software you have to install is really discouraging. Plus some people don't own their personal computers and use the computers at school etc so it's much better for them if there was a portable development environment.


> getting started in Java programming

I'm willing to guess that's where things got hard, not installing and running an app. Would you know what to do when NetBeans throws you in front of an empty text editor? Or, when starting a new project, did you know the canonical way of naming things without being shown once?


I would prefer not to create an account to learn something... any chance this will change?

nevermind; found the anonymous option. Thanks!


Same for me. But I can't find the anonymous option... :(


You can play with React Native (without signing up or taking the course) here: https://repl.it/H0Qp/2


how does repl.it compare with expo's snack (snack.expo.io)?


It integrates with it using the snack-sdk: https://github.com/expo/snack-sdk

repl.it integrates this with their classrooms product to make it into a structured learning tool with assignments and automatic evaluation of solutions. Direct link to the course: https://repl.it/community/classrooms/17650


It's the same technology (backed by Expo) but it's integrated in Repl.it's platform and community. Additional benefits include the ability to teach and/or build online courses. Or if you're already using Repl.it it's cool to have all your programs/experiments/homeworks/prototyping in one place.


It's a good tool, but how does it compare with: https://github.com/decosoftware/deco-ide

It seems that it also renders react native and has better features around styling.


Deco is great but it's an IDE and the way we approach things is a little bit different than how IDEs do. Generally speaking, when you're an IDE you're competing with all the other IDEs on feature-by-feature basis because you want to support the entire developer workflow.

For Repl.it, we approach everything from the novice point-of-view. We're ok with things being missing as long as we make it very easy for people who are just getting started with programming. We'll expand towards more power as long as it doesn't overwhelm or takeaway from the beginners experience.

For example, when we wanted to support third-party packages one way we could've done it is allow people bash access to install packages from PyPi but instead we've invested the time to pre-install all PyPi packages in existence on shared drive (https://repl.it/site/blog/python-import) and mount it on every container we start for our users. That way you don't have to know how to install it to get started with, say SciPy.


Besides the last commit on this repo being 6 months ago, I'd bet most HN users aren't looking to pick up another IDE if at all possible. We use repl.it a lot in my CS program because: 1. Students can just code now without having to worry about tooling 2. It's an easy way to share what you've coded without tooling (seeing a trend?)


Deco seems to be Mac only, where Repl.it is in-browser (hence cross-platform) so that's a pretty strong difference.


Is it possible to structure a project inside repl.it? I mean I have a small React project and wanted to replicated it in your IDE/repl


We're planning to add file and project tree support. For now it's more geared towards prototyping, intro courses, and experimentation. Stay tuned, we hope to have something for you soon!


Repl.it should be in every school in America! We need more innovation like this! #Amjad4president


I really want to learn React Native and this looks like a fantastic tool. Does anyone have any documentation that easily explain design patterns in RN? Does all code live in 1 file?


It works very similarly to React websites. Check the official React Native documentation and guide [1], it's a great introduction.

[1] https://facebook.github.io/react-native/docs/getting-started...


This is awesome!


It's always great when people leave Facebook (react native team) and create amazing products to improve the world!


how do you make money?


We haven't started monetizing yet but we already announced our plans for Pro accounts. We've been lucky that our platform has been very popular in highschools, colleges, bootcamps across the world so we'll be charging for additional features hopefully soon.


I was looking everywhere for info on pricing, I suggest you mention this somewhere. With the "create a free account" I thought I'd have to go through all the trouble of signing up before being faced with what I'd have to pay (looking at this as a teacher).


Good suggestion. We have a lot of cleaning up to do on the sign up flow/landing pages.


Just visited using my phone. The site is barely responsive and therefore had a hard time understanding what the tool is about. Might be worth fixing!

Otherwise, based on the comments here, looks like a really cool service!


Thanks, the site linked here is/should be responsive. What browser/phone? Care to send me a screenshot? (amjad@repl.it) thanks!


I found it surprisingly useful with my phone. But I couldn't edit the code using my regular keyboard (swiftkey), it did not add letters, only replaced the letter before the cursor, but it worked fine with the stock android keyboard. Haven't experienced that elsewhere.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: