News for hackers. Stuff that matters.
Re:Android, evolvability and Comcast by vikeri on Sunday April 23, 2017 @12:53PM (#14178954)
The solution is called React Native.

- Single file app: Check

- Super fast rebuild: Check

- Dynamic language (high reusability and one-liners): Check (Use ClojureScript to take this even further)

Re:Android, evolvability and Comcast by JustSomeNobody on Sunday April 23, 2017 @01:45PM (#14179273)
There is something seriously wrong with our industry. How can this even be suggested as a solution?
Re:Android, evolvability and Comcast by reilly3000 on Sunday April 23, 2017 @02:57PM (#14179756)
Because Facebook has thrown tens of millions of dollars towards getting a unified cross platform method of having 60fps rich mobile apps. Because managing an app of more than trivial complexity on iOS and Android is massively expensive. Because this approach offers the most leverage with the least trade offs of performance, development overhead, and future viability.

And because live coding mobile apps with a REPL is epic.

Re:Android, evolvability and Comcast by JustSomeNobody on Sunday April 23, 2017 @03:56PM (#14180122)
These are all developer centric points. What about users? Android already needs huge batteries, make everything run JavaScript and they'll need to be even larger. And forget computationally heavy apps? The hardware android runs on doesn't exactly have the best JavaScript performance.
Re:Android, evolvability and Comcast by jbob2000 on Sunday April 23, 2017 @09:03PM (#14181300)
I'm not sure you understand what react-native is... The app your users use isn't running javascript, it's not Facebook Cordova. You use javascript to compose the app, there's no javascript in the app you deliver to the users.
Re:Android, evolvability and Comcast by anonred on Monday April 24, 2017 @12:33AM (#14182008)
Pardon my incredulity, but if you use React, how can you not know that it uses a JS runtime? While it's not as bad as Cordova, you're hardly doing your users any favors in terms of performance by using React.
Re:Android, evolvability and Comcast by esrauch on Sunday April 23, 2017 @09:46PM (#14181430)
What? Surely the JS you write is embedded in the release build.
Re:Android, evolvability and Comcast by pebers on Sunday April 23, 2017 @03:37PM (#14180001)
Portability? With a little setup you can write your logic in one language with a reasonably low amount of extra work to handle different platforms. Staffing up two separate teams working in Objective-C and Java isn't ideal either.
Re:Android, evolvability and Comcast by moomin on Sunday April 23, 2017 @02:25PM (#14179547)
I'm guessing the answer to this is: because the problem is ridiculously bad.
Re:Android, evolvability and Comcast by lokedhs on Sunday April 23, 2017 @09:28PM (#14181387)
People will always suggest what they know as a solution to everything. A lot of people only have deep knowledge of, say, Javascript or Python. That's why you see people in threads like this suggesting these languages as the solution for whatever problem they envision.

That's also why you see horrible solutions for problems that have already been solved in the past.

There should be a rule that says that you are not allowed to design a framework until you have direct experience in developing for at least 5 different systems from different periods in history first.

Re:Android, evolvability and Comcast by tumblen on Sunday April 23, 2017 @03:14PM (#14179857)
If a key problem is the need to build every app for multiple platforms, why wouldn't an abstraction layer be a valid approach?

Sure there have been some failed attempts in the past but why not encourage RN? Clearly it's working for many applications and being actively developed.

Re:Android, evolvability and Comcast by krzyk on Sunday April 23, 2017 @01:22PM (#14179141)
But there is a single problem with React Native: Javascript (and all languages that come from it). It's frequently one of the most hated ones as it is loved.

Dynamic language is not necessary the best thing invented, if it were there wouldn't be any other kind of languages.

Re:Android, evolvability and Comcast by tumblen on Sunday April 23, 2017 @03:29PM (#14179952)
Lots of great experiences with Typescript being reported and I am loving Flowtype lately so the era of only dynamic JS is fading out.

A lot of the JS hate goes out the window with ES6 and type systems.

Re:Android, evolvability and Comcast by paulddraper on Sunday April 23, 2017 @03:27PM (#14179947)
Doesn't it follow that static language is not necessarily the best thing invented, if it were there wouldn't be any other kind of languages?
Re:Android, evolvability and Comcast by krzyk on Sunday April 23, 2017 @03:37PM (#14180000)
Yes, but parent response suggested that dynamic langs are the answer to android development problems.

Adding more to the discussion: Android env is like a framework (as opposed to library), it is always harder to work in frameworks than using libraries - e.g. lots of stuff you will have trouble mocking out in unit tests.

Re:Android, evolvability and Comcast by vikeri on Sunday April 23, 2017 @05:19PM (#14180522)
I was just addressing the issues outlined in the post. I would hardly define ClojureScript as a language that came from JavaScript.

Naturally there are cases when a typed language is better than a dynamic one.

Re:Android, evolvability and Comcast by polymeris on Sunday April 23, 2017 @02:14PM (#14179475)
I really need to give Reagent+React native another shot. Last I tried there where still some apparently minor, but annoying issues.

That said, even as a clojurescript fan, I wouldn't call this a solution, more like a practical workaround for a deeply flawed dev experience.