4 ms·
Jason: Scriptable iOS JSON Client
- ramon 10y agoJust tested, it's awesome. It's really fast I like it! :). It would be nice to have an Android version of this as well.
- gliechtenstein 10y agoHi, the creator here, If you look at how layout is implemented, it's very similar to android linear layout and its intentional. I do have plans for android version :)
- thinxer 10y agoInteresting but is this HTML+JS reinvented?
- gliechtenstein 10y agoYes, to be precise it's HTML+JS+CSS reinvented. I took lots of inspiration from existing browser standards while developing Jason. But to be clear, it's NOT one of those html5 hybrid app builders. Jason is a scripting language that you use to manipulate native functions and elements directly. There is no HTML and packaging going on. Also on the packaging note, the whole point of Jason is you can just write something up quickly and have a functional app running in 5 minutes. No compile, no build, no upload/download, no deployment. All you need is a single flat JSON file and you can share that url with anyone. Does this make sense?
- coldcode 10y agoSuch a clever idea. Take raw JSON content and turn it into an app.
- gliechtenstein 10y agoHi I'm the creator of Jason, I was going to wait a bit before I feel ready enough for Show HN but I guess someone already posted :) Jason came out of my personal frustration with building apps. I think it takes too much time and effort going from an idea to an actual functional app, even if you're an experienced developer. I really think you should be able to just whip up some script and have it running in 5 minutes, as quick and easy as writing a blog post. As an example here are two hacker news clients I just wrote up in 2 minutes: ShowHN app: http://www.jasonclient.org/gallery/show/index.html?id=http://www.jasonclient.org/things/115.json http://www.jasonclient.org/gallery/show/index.html?id=http:/... HN firehose client: http://www.jasonclient.org/gallery/show/index.html?id=http://www.jasonclient.org/things/127.json http://www.jasonclient.org/gallery/show/index.html?id=http:/... Jason is completely native. It's not one of those html5 hybrid app builders. The JSON script you write is used to directly manipulate these native elements and also can even invoke native device functions such as camera, geolocation, audio/video playback, etc. Please ask any questions, I'm here.
- dang 10y ago> I was going to wait a bit before I feel ready enough for Show HN Go ahead and post it as a Show HN when you're ready. We won't treat it as a duplicate.
- gliechtenstein 10y agoThank you, I will!
- cballock 10y agoGreat idea and very interesting stuff.
- yoda_sl 10y agoIn a past project, we had a similar system used where most of the UI of the iOS app was driven by json served by the server. You can definitely do a lot, but the syntax of json had quite some limitation especially when you are trying to code some complex UI actions or add some business logic linked to your dynamic UI. The system did evolve into using a combination of json and JS using for back then the newly introduced framework JavaScriptCore ... It made everything a lot easier overall since JS is definitely a proper language. The JS obviously was able to map to native objects and thus performance overall was great. The app is still used by millions of users daily. Edit: typo and adding more info
- gliechtenstein 10y agoI've faced lots of challenges in terms of expressive power while working on Jason, but think I've figured out a lot of them. Could you share some of the challenges you faced? It would help a lot. Thanks!
- peternicky 10y agoVery, very well done... Thank you for creating this.
- atomwaffel 10y agoLooks really cool, thanks for this! If there is one thing holding me back, it's that JSON is a bit of a pain to write manually. Do you have any plans to support a more human-friendly format like YAML[1] or Hjson[2]? I guess I can always manually convert those to JSON, but it'd be neat to not have to. [1] http://www.yaml.org http://www.yaml.org [2] http://hjson.org http://hjson.org
- gliechtenstein 10y agoI'm a huge fan of hjson. I agree it's pain in the ass to write JSON, especially the need to double quote everything. My goal was to release this asap and get actual feedback and work on things people want first. To answer your question more specifically, as long as you can turn a data into JSON format you can run it on Jason. That's what I do in this tutorial where you can turn any spreadsheet data into JSON and then run it on Jason. http://www.jasonclient.org/spreadsheet/ http://www.jasonclient.org/spreadsheet/ Also there's an HTML parser which turns HTML into JSON format and then renders it in Jason (http://www.jasonclient.org/gallery/show/index.html?id=http://www.jasonclient.org/things/127.json http://www.jasonclient.org/gallery/show/index.html?id=http:/...) So I'm sure I can add on HJSON and YAML support. BTW please join the slack channel if you're interested, http://textethan.us8.list-manage.com/subscribe?u=54e23b3fe61843c19c384fc05&id=c6e08abd5c http://textethan.us8.list-manage.com/subscribe?u=54e23b3fe61... I'm happy to chat :)
- atomwaffel 10y agoThat's brilliant, thanks for the reply! Good call on getting something out the door quickly and waiting for feedback. Not sure you need to support both YAML and Hjson, just one human-friendly format would be enough, especially as the conversion is easy enough to automate.
- ramon 10y agoCan you do a multi-page on this? Like having one link to another page and parsing another jason?
- gliechtenstein 10y agoYup. Here's a demo http://www.jasonclient.org/gallery/show/index.html?id=http://www.jasonclient.org/things/15.json http://www.jasonclient.org/gallery/show/index.html?id=http:/... Scroll down to the bottom and tap the orange rounded button. And here's a documentation for that http://www.jasonclient.org/doc/#1-href http://www.jasonclient.org/doc/#1-href Lastly, please join the slack channel if you're interested http://textethan.us8.list-manage.com/subscribe?u=54e23b3fe61843c19c384fc05&id=c6e08abd5c http://textethan.us8.list-manage.com/subscribe?u=54e23b3fe61... , I'm always there :)
- graffitici 10y agoLooks really neat! Thanks for putting this out there! Any chance the code for this will be open-sourced?
- gliechtenstein 10y agoMy top priority is to make this as extensible as possible, open sourcing is one option I'm considering but it comes with lots of challenges including security issues. I'm still exploring different options, would love to chat, please join the slack channel if you're interested :) http://textethan.us8.list-manage.com/subscribe?u=54e23b3fe61843c19c384fc05&id=c6e08abd5c http://textethan.us8.list-manage.com/subscribe?u=54e23b3fe61...