How to build cross-platform mobile apps with JSON
medium.freecodecamp.com
medium.freecodecamp.com
In general, JavaScript is becoming the new J2EE. Ambitious ideas, clueless implementations, insane complexity.
2. It's not like the JS community is anti-XML, most JS libs/frameworks still use HTML/XML markup for rendering.
3. The JS community is vast and diverse - generalisations around 'clueless implementations, insane complexity' don't make a lot of sense.
Its pretty anti-XML outside of node. Pure-js solutions for xml are not as great as built in features other languages provide, while JS only natively does JSON.
>generalisations around 'clueless implementations, insane complexity' don't make a lot of sense.
When you are creating languages that compile to JS and adding entire markup ontop of it along with literally hundreds of dependencies in any average project, JS has plenty of insane complexity.
Like parent said, this project doesn't compile to JS. It's simply a JSON to native mapping.
JSON is a format directly derived from JavaScript. The affinity for using JSON for things that have nothing to do with object serialization or simple data structures is characteristic of JS mentality.
>2. It's not like the JS community is anti-XML, most JS libs/frameworks still use HTML/XML markup for rendering.
Of course JS community is anti-XML. They don't use XML even when it makes sense to do so. And they use HTML only as a rendering layer, completely ignoring its other use (e.g. semantic document format).
More generally, the title should be corrected to the actual title, which is almost fine:
"How to build cross-platform mobile apps using nothing more than a JSON markup"
Maybe remove the click-baity "nothing more than" part, but other than that, the original title is much better than the submission title.
"The interchangeability of code and data gives Lisp its instantly recognizable syntax. All program code is written as s-expressions, or parenthesized lists. A function call or syntactic form is written as a list with the function or operator's name first, and the arguments following; for instance, a function f that takes three arguments would be called as (f arg1 arg2 arg3)."Lisp interpreters tend to be dead simple to implement.
1 - https://news.ycombinator.com/item?id=4487462
2 - https://github.com/search?utf8=%E2%9C%93&q=%22application%2F...
3 - https://github.com/search?utf8=%E2%9C%93&q=%22application%2F...
When the article's author describes both code and data using JSON, it sounds a little strange to me. While JSON is capable to describing nested data structures, JSON's syntax is much more verbose than s-expressions. I feel that since s-expressions have been around for about 60 years that the author should be familiar with them and address why a JSON encoding is superior to s-expressions for this use case.
(x . (y . (z . NIL))) <=> ['x', ['y' , ['z', null]]]I should have said:
(x . (y . (z . NIL))) <=> ['x', 'y', 'z']JSON is widely used and understood, easy to parse and serialise to, and fundamentally simpler than most alternatives.
You could argue that S-expressions are 'simpler' than JSON, but they didn't take off, for whatever reason - I'm not going to go into opinions on why I think that is, because that never tends to go well on HN :)
On the other hand, students of the past will notice that Jsonette looks awfully similar to Ant build files, which sucked. JSON/XML/YAML is a horrible way to construct general-purpose programs. Computing languages exist for a reason.
I think we are finally starting to accept that Turing-complete data is a bug, despite what the Lisp people have been saying for 50 years, and is not a feature on the Internet. Microsoft served as the poster child in the 90's.
The tension, I strongly believe, comes during debugging. When you are trying to figure out why the data doesn't look right, the less the code resembles the data being emitted, the harder it is to locate the source of the error. Templating engines get pretty close to addressing that concern, in ways that transforms or generators don't. So we keep trying to invent a better one. But once you let a little logic in, everybody wants all the logic.
Ant found the Uncanny Valley, in a way that few other tools have managed. I think I'm okay with your implication that it was actually worse than XSLT, which is saying a lot.
[edit] Ant is also the reason I shift uncomfortably whenever someone announces proudly that a tool was 'designed and implemented on a plane trip'. I'd rather have code you wrote when drunk than code you made while stuffed in a sardine can, subjected to noise levels that OSHA would have issues with, and suffering from altitude sickness. You literally designed this while your brain wasn't getting enough oxygen.
I've never seen any succeed at anything more than the most basic apps.
I put more stock in projects like Xamarin or MOE (and even they aren't perfect).
The platform is incredible and I've been able to build a complex app in no time at all. Give it a try, you'll be surprised. I'm in the Slack room too if you need trouble shooting.
direct link: http://jasonette.com
https://forum.jasonette.com/t/media-in-android-port/79/2
Short answer: Sort of (on iOS) and No, not yet (on Android)
So it's a bullshit title, basically.
I pick YAML.
Nothing can beat this:
name: Taylor Swift
Absolutely nothing, no matter how you dress it. name "Taylor Swift"
which is how JSONY works (which was an experiment ingy and I put together)