--
You received this message because you are subscribed to the Google Groups "Cappuccino & Objective-J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to objectivej+...@googlegroups.com.
To post to this group, send email to objec...@googlegroups.com.
Visit this group at http://groups.google.com/group/objectivej.
For more options, visit https://groups.google.com/d/optout.
Interesting thoughts...But it feels highly unlikely as they can more or less dictate how Mac and iOS developments should be done but they will have a hard time changing the default standard to code JavaScript in browsers.
It is the same if we should build a JSwift (or Swift-J as Alexander suggested) compiler. It is better to add those features directly to our own compiler to generate code that are optimized for speed and are fully compatible with Cappuccino and the runtime. Much harder to do that if we has to go thru another language and compiler.
On 9 June 2014 at 19:44:00, david.ri...@enquora.com (david.ri...@enquora.com) wrote:
To elaborate my post, there now exist multiple framework/library/compile-to-javascript projects that are suitable for large-scale in-browser apps. They are mostly reactive UIs combined with functional languages, don't have well-developed UI modules available, and are lest well developed, but Cappuccino is not longer unique in this space.If the advantage of a strong backing ecosystem for Objective-C/J fades, it is worth re-focusing the project's mission statement. imho.
I tend to agree but we’ll need to watch the Swift situation. Even if this becomes important for us, it’s not a small nor easy addition.
With the LLVM backend, perhaps Swift syntax could compile to Javascript? Then the work is only in stitching up to the Cappuccino backend.
With the LLVM backend, perhaps Swift syntax could compile to Javascript? Then the work is only in stitching up to the Cappuccino backend.Any time someone says "only" or "just" in relation to software, I get scared, especially when that person may not be planning to do the work themselves.Let's try to think this through a little more deeply:- Someone would "only" have to rewrite all of Cappuccino in Swift. This is far more than just translating the syntax. Swift is a strongly typed language, which means we would "only" have to rewrite all of the code that relies on the loose typing of Javascript.- Then someone would "only" have to write an LLVM -> Javascript translator that generates the correct Javascript code for use with Cappuccino. emscripten may not work for us.
- Then someone would "only" have to essentially write a linker that would modify the generated Javascript code to insert the DOM-specific code that glues Cappuccino to the browser.As a colleague used to say, hey, it's "only" typing.
What could possibly go wrong?;)
On 10 juni 2014 at 17:51:55, Aparajita Fishman (apar...@aparajitaworld.com) wrote:
And one more thing: if we use a LLVM -> Javascript approach, we will no longer be able to mix actual Javascript code with Swift code, which is necessary if you are using a third party Javascript library.In other words, the only practical solution to using Swift with Cappuccino is to write our own Swift compiler. Hey, it's only typing! ;-)
And one more thing: if we use a LLVM -> Javascript approach, we will no longer be able to mix actual Javascript code with Swift code, which is necessary if you are using a third party Javascript library.In other words, the only practical solution to using Swift with Cappuccino is to write our own Swift compiler. Hey, it's only typing! ;-)
--
Let me add to Aparajita's points that all of this would need to run on Windows and Linux! Developing with Capp needs to be just as easy on Windows as on a Mac for the market share to grow.T
On 10 June 2014 at 19:36:19, Aparajita Fishman (apar...@aparajitaworld.com) wrote:
Using external libraries wasn't my point. Objective-J is a superset of Javascript, which allows one to freely mix Objective-J and Javascript in the same file. How will that will be possible using the LLVM->Javascript approach? And if not, then you are forcing developers to segregate all native Javascript code into separate files, which of course is possible but will not be greeted with enthusiasm.
Even with this limited scope though writing such a compiler is a significant undertaking.