465 karma · joined March 6, 2009
We'll keep working on making the flow of navigating to your sketch on your phone as smooth as possible. Certainly some work to do there.
The drag and drop components list in Sketch was partly inspired by Deco. Keep up the good work :)
React Native basically solves this and solves it well, and can perform well in most cases.
And if there is some screen where it doesn't (ex. if you were building Snapchat and were going to work on live video filters), you can implement that in Swift/Java/Obj-C and just make that a native module that's part of your RN app.
My personal prediction is that almost all apps will be started in RN in the medium term future and most will end up mostly RN.
Some people have set up some stuff for doing ClojureScript with Expo.
https://docs.expo.io/versions/v14.0.0/guides/using-clojuresc...
You can find them in the #clojurescript channel in the Expo community Slack. https://slack.expo.io/
That might be the best place to start.
I also threw up a post in the forums that we just setup. https://forums.expo.io/t/integration-with-typescript-mocha-o...
CRNA doesn't use our app building service (which is free) or integrate with it, though you can take a CRNA project and use it with the rest of our tools like the app building service.
Also, CRNA does support ejecting which gives you an Xcode project and an Android Studio project. You can really control everything you want to control here.
Exponent lets web developers build truly native apps that work across both iOS and Android by writing them once in just JavaScript. It's open source and free and uses React Native. Several of our engineers are core contributors to React Native, and we regularly collaborate with Facebook and other companies on the direction of the framework. Our technology is built around an Android/iOS application which allows developers to load their JavaScript projects on the fly with no native build dependencies or waiting period for store deployment. Out of the box, developers using Exponent get access to native mobile APIs like push notifications, camera, maps, and more (https://docs.getexponent.com/versions/v14.0.0/index.html).
We have a lot of irons in the fire, and we're looking for engineers who can comfortably own and work on multiple projects. Some examples of recent projects at Exponent:
* Creating cross-platform APIs (like our new WebGL implementation) that provide developers native mobile functionality within JavaScript
* Building our not-yet-released JSFiddle for mobile apps
* Designing and implementing a community front-end to explore applications built on Exponent
* Building the foundation of a scalable infrastructure to host our take on a new mobile web
Some projects that are underway or on the horizon for us:
* Rethinking developer tooling for React Native projects
* Greatly expanding the functionality available in our SDK's API
* Improved monitoring and alerting for our infrastructure
* Increasing our test coverage and improving overall reliability
Some buzzwords: React Native, JavaScript (ES6/ES7, Flow), Android, iOS, Node.js, Electron, Go, Kubernetes, Google Cloud.
We don't expect candidates to already be proficient in these, but it's what we're currently using day-to-day. Please send an email to jobs@getexponent.com and mention this post if you'd like to start a conversation with us. Definitely include links to applicable resources: resume/CV, your blog, GitHub profile, recent projects or open source contributions, etc. Typical interviews with us include remote pairing, small take-home projects (1-2 hours), and we usually finish with some more traditional in-person interviews.
Exponent lets web developers build truly native apps that work across both iOS and Android by writing them once in just JavaScript. It's open source and free and uses React Native. Several of our engineers are core contributors to React Native, and we regularly collaborate with Facebook and other companies on the direction of the framework.
Our technology is built around an Android/iOS application which allows developers to load their JavaScript projects on the fly with no native build dependencies or waiting period for store deployment. Out of the box, developers using Exponent get access to native mobile APIs like push notifications, camera, maps, and more (https://docs.getexponent.com/versions/v13.0.0/sdk/index.html).
We have a lot of irons in the fire, and we're looking for engineers who can comfortably own and work on multiple projects. We're also interested in hosting some interns for Summer 2017. Some examples of recent projects at Exponent:
* Creating cross-platform APIs (like our new WebGL implementation) that provide developers native mobile functionality within JavaScript
* Building our not-yet-released JSFiddle for mobile apps
* Designing and implementing a community front-end to explore applications built on Exponent
* Building the foundation of a scalable infrastructure to host our take on a new mobile web
Some projects that are underway or on the horizon for us:
* Rethinking developer tooling for React Native projects
* Greatly expanding the functionality available in our SDK's API
* Improved monitoring and alerting for our infrastructure
* Increasing our test coverage and improving overall reliability
Some buzzwords:
React Native, JavaScript (ES6/ES7, Flow), Android, iOS, Node.js, Electron, Go, Kubernetes, Google Cloud.
We don't expect candidates to already be proficient in these, but it's what we're currently using day-to-day.
Please send an email to jobs@getexponent.com and mention this post if you'd like to start a conversation with us. Definitely include links to applicable resources: resume/CV, your blog, GitHub profile, recent projects or open source contributions, etc. Typical interviews with us include remote pairing, small take-home projects (1-2 hours), and we usually finish with some more traditional in-person interviews.
Exponent exposes all of the React Native built-in APIs which encompass a lot of what you're asking about.
For example, here is the Clipboard API: https://facebook.github.io/react-native/docs/clipboard.html
Wifi network configuration is more complicated, but there are some things exposed like "NetInfo" which lets you know the current state of connectivity. https://facebook.github.io/react-native/docs/netinfo.html
The complete React Native docs are here: https://facebook.github.io/react-native/ and Exponent specific docs are here: http://docs.getexponent.com/
For now, Exponent just lets you write things that only use JS, and we make that easy and reliable and straightforward. We actually think this is the best way to write most apps that can be built this way since the code is easier to maintain and works cross platform, and you can do things like instant updates much more reliably when all your code is JS.
We're looking at a way you can write Java/Swift/Obj-C extensions for Exponent, but that will take us some time.
(2) Exponent is based on React Native which is newer and people seem to like better (search Google for blog posts about experiences using React Native and then search Google for blog posts about using Titanium), though I can't actually compare them personally since I don't know that much about the inner workings of Titanium.
(3) You can do instant app updates with Exponent since the JS is run on the device rather than being cross compiled to native code. I don't think you can do this with Titanium (though I may be wrong -- they've added a lot of features since I last checked on it)
If there are any problems, they would probably be easy to fix. The thing I'd be most worried about is just that some things might run very slow on the Pi.
Ex. Try opening https://getexponent.com/@exponent/floatyplane from your phone.
If you have the source code for the app, just open the project directory in XDE (our desktop software) and it will give you a development URL that you can open in the Simulator or on your phone.
In general, testing Exponent apps is way easier than testing apps other ways. We put a lot of time into making it simple.
Here are the docs for SDK 10 (based on RN 0.33.0): https://docs.getexponent.com/versions/v10.0.0/index.html
And here are the docs for SDK 9 (based on RN 0.31.0): https://docs.getexponent.com/versions/v9.0.0/index.html
You can use either one.
Also, all our stuff is open source, so just go back and find the old release tags on Github if you want older versions.
We made a 2 minute video overview about what we're doing here: https://www.youtube.com/watch?v=IQI9aUlouMI
Here's a 2 minute video that I think explains what we're doing pretty well: https://www.youtube.com/watch?v=IQI9aUlouMI
In general, people have been really happy using Exponent so far. It doesn't work for all use cases yet since we are still beefing up the roster of native modules that are included, but you can do most of the stuff that most apps need already, and we're adding more every day.
Sometimes you might have to spend some time wrangling your code to get the performance results you want, but that's usually the case in building software.
Check out https://play.google.com/store/apps/details?id=st.li.listapp . It is built with Exponent/React Native and has pretty great performance. Got featured in the Play Store.
If there's interest, I'll probably make a way for you to use your own Twilio account and phone number for anyone that wants to do it that way.
For now, I'm just making it free though. I'll be really happy if someone uses it as a part of making something cool or useful.