4 ms·
How are they imposing the choice on you? Android imposes on you the choice of Java. Apple imposes on you the choice of ObjC. Mozilla wants to make it easier to
by thegeomaster 12y ago
How are they imposing the choice on you? Android imposes on you the choice of Java. Apple imposes on you the choice of ObjC. Mozilla wants to make it easier to get already skilled developers (I'm guessing a lot of people are more familiar with webdev than with Android or iOS development). In my view, having technology which can work on a wide variety of different devices lowers segmentation thereby helping the system as a whole.
Javascript and HTML5 might not be ideal for the job at hand, but you're welcome not to use them. Just like you are welcome not to use Java for Android if you don't like it.
- CmonDev 12y agoI can use any .NET language (C#, F# supported well) to target Android and iOS apps _natively_. I can use many (any?) JVM language (Scala, Clojure etc.) to target Android without transpilation. There is a very real choice. "Javascript and HTML5 might not be ideal for the job at hand, but you're welcome not to use them." - how can I build a Firefox OS or even a just a web app without transpilation (which is like being a 3rd class citizen)?
- thegeomaster 12y agoI would argue that compiling to asm.js isn't exactly transpilation if the Javascript engine is trained to recognize asm.js and specially execute it, optimizing for speed. What is "3rd class citizen" about that? You can draw to a canvas from C code compiled to asm.js if you desire, or manipulate DOM through a thin layer of JS abstraction, if that's your wish. Sure, it may be clumsy because currently there are no good libraries and frameworks covering those use cases, but you can't blame the technologies for that.
- soapdog 12y agoI think you have really strong opinions :-) I don't know if you're aware of emscripten, I believe you know some of it because you spoke of transpilation. Basically if you're coding in C/C++ or something that can go thru that route then you can pass it thru emscripten and achieve up to 1.5x performance on the ASM.js based output. This is a really good way to reuse code that was "native" on the web. As of now, you can't use .NET or JVM based languages since you don't have the VMs for them and IMHO trying to pass the VMs thru emscripten is a recipe for nightmare. The main thing is that everything has its pros and cons. There is no silver bullet. Developing with Swift for iOS appears to be a really good thing. The language is very modern and beautifully integrated but it only works on iOS. Same thing goes for JVM based languages, not all platforms are shipping JVMs (Android, Sailfish, BB10, who else?). If you stop and reason for a bit you will notice that the most powerful integrations and languages are usually tied to a single platform or compiling to some runtime that was compiled for those platforms. Its really hard to create something that works everywhere. Languages are just tools. When you build a beautiful shelf no one asks what was the brand of the hammer used. Lots of programmers tend to mix the process with the solution. Yes the .NET languages are wonderful, specially F# but how can you empower people with it? How can you make something that people can afford and how can you make it simple enough for them to use. There are better languages than Javascript and it doesn't matter what is the current pinacle of language design, someone will replace it some day. HTML5 is currently the only toolkit that works web wide and is not controlled by a single company. There is power in standards and also continuity. Just imagine for a bit a poor community classroom. Pick a smartTV from a government program, pick cheap tablets and maybe phones. This vision is getting more common than people think specially in the communities that are close enough to cities but not a part of it. Now what is easier: to pick developers to deliver to all those platforms regardless of OS using HTML5 or create separate teams to build stuff using whatever is the most elegant language on that platform? Firefox OS is not about the process, its not about competing with Android and iOS, its not about pitching JS versus any language, its about creating opportunities and serving people that are currently not served by the other mobile platforms....
- CmonDev 12y ago"its not about pitching JS versus any language" vs "flashback of Obj-C here and Java there thing" ?