A CodeFlow blog

about live coding and more…

CodeFlow 0.9.8-b brings WatchKit support


Only two days after Apple made WatchKit available to developers, you can now live code apps for the Apple Watch by upgrading to the just released CodeFlow version 0.9.8-b, a minor update of CodeFlow public beta. Being that fast to integrate a new technology proves the high flexibility and quality of CodeFlow's underlying live update technology.

CodeFlow 0.9.8-b includes the following new features:

  1. It extends the set of Xcode targets types that can be associated with a CodeFlow project. In particular, app-extensions and watchkit-extensions can now be associated with a CodeFlow project.

  2. It brings more flexible resource handlers for dynamic resource update. A resource handler can now be defined as a pseudo-setter method that can capture variables from the context in which getResource is called (don't panic, this is explained later in this post...).

  3. It includes the bindings library for iOS 8.1 SDK, which is now the default for new projects.

A number of companion downloads are available too:

  • updated versions of the sample applications, using the for iOS 8.1 SDK bindings library and providing example of the new resource handle syntax;

  • Codeflow Bindings for iOS 8.2 beta SDK: a must-have if you want to develop WatchKit apps or use new APIs in iOS 8.2 (needs Xcode 6.2 to be installed) .

  • Codeflow Bindings for iOS 8.0 SDK to be downloaded if you are still using Xcode 6.0 for developing your apps. This bindings library was included in the previous version of CodeFlow, so you don't need to download it if you are upgrading from the previous 0.9.8 version.

WatchKit support

More details about how to live-code a WatchKit app with CodeFlow will be the topic of a dedicated post very soon on this blog. Stay tuned for this.

Extended dynamic resource handlers

The new way of declaring dynamic resource handlers deserve some explanation:

In previous versions, a dynamic resource was associated with an object field like this:

getResource("path.to.resource", "public.image", self, "fieldName")

which has the effect of setting self.fieldName to the current value of the resource after every update of this resource. By declaring a setter for fieldName you can execute a method when the resource was updated and do more sophisticated processing.

CodeFlow 0.9.8-b extends this by allowing the use of a handler function directly in the getResource call. This gives you the opportunity to write more concise code for resource handlers, but most importantly to capture variables from the current scope in your handler. For example, you can now manage a collection of dynamic resources like this:

for i = 1, #resourceNames do
        getResource(resourceNames[i], "public.image", 
                    self, function (self, resourceObject)
                              -- capture the loop index `i` for future updates
                              self.rowImages[i] = resourceObject
                              self:updateRow(i)
                          end)
end

Using this version

In case you missed it, CodeFlow is now in public beta, and you can download it and use it freely until the end of the betatest phase.

And you can help us to make CodeFlow even better, by sending general feedback, suggestions for improvements, or bugs reports to support@celedev.com and by accepting to send crash reports when CodeFlow proposes it. Thanks in advance for this.

So, download this version, and start developing your iOS or AppleWatch app in live-coding mode today!


Celedev wins national innovative startups contest


Celedev wins an award for its innovative live-coding technology in the 2014 national contest for innovative technology start-ups…

I'm happy to announce that Celedev has won an award for its innovative live-coding technology in the 2014 national contest for innovative technology start-ups organized by the French Ministry for Research.

This contest rewards each year a small number of start-ups projects or recently created start-ups characterized by an innovative technology as well as a convincing business plan, in various technology areas.

Photo: the award ceremony at French Ministry for Research, on 1st July.


Subtitles in CocoaHeads video


English and French subtitles have been added to the CocoaHeads Rennes video. Watch it in the post or on the corresponding YouTube page


CocoaHeads Rennes: the video


If you couldn't come to the CocoaHeads Rennes meeting on October 24th, you missed this:

The presentation by @celedev has just ended. Responsive Development is really amazing…

Original version: La présentation de @celedev vient de se finir. Le responsive Developement c'est époustouflant ... By @CocoaHeadsRNS on 10/24/2013

But don't worry, the video acquisition of the talk Is now online. The talk is in French, but English (and French) subtitles are available. 

You can watch it here with subtitles in English. Alternatively you can watch it on YouTube (with subtitles available) or on the CocoaHeads France website (without subtitles).

Play Video

[Edit 11/08/2013] Added English subtitles to the video, so there is no need anymore to understand French to watch it. ;)


Celedev at CocoaHeads Rennes


Celedev wil present its Responsive Programming environment for iOS at CocoaHeads Rennes on October 24th.

Xcode is a really powerful IDE, but having to recompile, reload, and relaunch the whole app again and again after changing the tiniest piece of code can become significantly time-consuming and frustrating at the end of the day. Celedev's Responsive Programming solution has been designed from the ground up to solve this issue, so you can experiment right away in your app the changes you do in your program. 

In this CocoaHeads short talk, I will present the major aspects of Celedev's environment and how it can be used it to speed-up Apps development or to conduct creative experimentations with iOS APIs.

Through a few examples I will show how to integrate Responsive Code into an existing App with the LuaContext class, how to instantly propagate changed code into the application without relaunching it, how to immediately visualize changed resources (images, text …) in their application context, …

For more information, see the the announcement at cocoaheads.fr (in french).

If you are in the neighborhood of Rennes on 24th, do not hesitate to come.


Recent posts

Blog Post
Aug 1, 2016

CodeFlow 1.0.2

CodeFlow 1.0.2 is a minor release that focuses on improving the Live Application Developer's Experience.

Aug 1, 2016
Blog Post
Jun 16, 2016

CodeFlow 1.0.1 and WWDC 2016

The just-released CodeFlow 1.0.1 brings support for the new iOS 10, tvOS 10 and macOS 10.12 announced at WWDC 2016 this week.

Jun 16, 2016
Blog Post
Jun 9, 2016

CodeFlow turns 1.0

It has been some time since the last beta of CodeFlow, version 0.9.20 was released in January this year. And all this time, we have worked very hard to improve CodeFlow, and to turn it into an effective Application Development System that we love to…

Jun 9, 2016

Last tweets

Jun 8, 2018
@JLJumpertz
✅ Wow, @celedev CodeFlow looks really good in dark mode on macOS 10.14 Mojave! 😃
Still a work in progress, but it took me only a few hours to reach this point, while keeping it compatible with macOS 10.11+ 😎
CodeFlow = live-code native iOS apps in Lua celedev.com
Jun 8, 2018
May 17, 2018
@JLJumpertz
🎉🥂Time-Flow, an iOS app created with @celedev CodeFlow by @alf147 is on the AppStore!
The approval process took less than 24 hours. 😎
#LuaLang #livecoding #iOS
itunes.apple.com/us/app/time-fl…
May 17, 2018
Apr 2, 2018
Minor CodeFlow update today: v1.2.3 fixes an issue with Xcode 9.3. Check for update or download it directly from celedev.com/en/download/
Apr 2, 2018
Feb 12, 2018
New CodeFlow version 1.2.2 today: it solves an error that could occur when calling certain kinds of Swift closures or ObjC blocks from Lua.
Thanks @alf147 for reporting the issue! 😀
Check for update in CodeFlow, or download version 1.2.2 from celedev.com/en/download/.
Feb 12, 2018
Feb 8, 2018
The LuaPanda 🐼sample application has also been updated for CodeFlow 1.2.1.
To get it from GitHub: github.com/celedev/LuaPan…
Feb 8, 2018
Feb 8, 2018
CodeFlow 1.2.1 is now available for upgrade. This is a bugfix release recommended to all users. 😎
Check for update in the appplication,
or download it from celedev.com/en/download/,
or simply read about the changes here: celedev.com/en/download/co…
Feb 8, 2018
Feb 2, 2018
@JLJumpertz
Live iOS app development strikes back!
Version 1.2 of CodeFlow is out, with lots of improved features, for a unique interactive native app development experience. 😀
- download celedev.com/en/download/
- changelog celedev.com/en/download/co…
(by @celedev)
Feb 2, 2018
Dec 7, 2017
🛠New CodeFlow SDK Bindings are available for all supported Xcode versions: 9.2, 8.3, and 7.3. 😊
celedev.com/en/download/
Dec 7, 2017
Aug 9, 2017
🛠CodeFlow SDK Bindings for Xcode 9 beta 5 are available for download. Enjoy! 😊
celedev.com/en/download/
Aug 9, 2017
Jul 11, 2017
New APIs in Xcode 9 / iOS 11 beta 3? CodeFlow supports them from day 1. 😀
🛠 Download updated OS SDK bindings from celedev.com/en/download/
Jul 11, 2017
Jul 2, 2017
CodeFlow 1.1.1 is out, and supports real-time native app development for iOS 11 and macOS 10.13.
Check for update or celedev.com/en/download/
Jul 2, 2017
Dec 5, 2016
@JLJumpertz
"Programming iOS in Lua - A bridge story"
Slides of my talk at Lua Workshop 2016 are here: slideshare.net/jljumpertz/pro…
#lualang #iosdev
Dec 5, 2016
Oct 11, 2016
Little Lua red Panda is now on GitHub! github.com/celedev/LuaPan…
A SceneKit 3D game in #LuaLang with dynamic update of all 3D assets and code
Oct 11, 2016
Oct 3, 2016
CodeFlow 1.0.3 is out!
⚡️ Live SceneKit assets, Sierra support, and more…
celedev.com/en/download/#c…
#lualang #iosdev
Oct 3, 2016
Oct 1, 2016
@aligatr
@Javi @nicklockwood same and also sad they didn't mention Redux realm.io/news/benji-enc… nor @celedev for Live Reloading & Faster iterations
Oct 1, 2016