love = Frank + iCuke

Skip to first unread message

Matt Di Pasquale

Mar 8, 2011, 12:46:24 AM3/8/11
Is it possible to merge these two projects (the same way that Merb & Rails merged) since they have the same common goal: Cucumber on iOS?

See my question here:



Pete Hodgson

Mar 8, 2011, 1:12:15 AM3/8/11
to, Matt Di Pasquale,
Hey Matt, hey iCukes!

Interesting suggestion. I think there are definitely ideas and approaches that the two projects can borrow from each other. For example I think I took some pretty hefty 'inspiration' for the sim_launcher gem which Frank now uses to launch the iOS Simulator by looking at how iCuke tackled the same problem. I'd guess that there are some things that Frank does which iCuke could also take inspiration from - the way Frank exposes the Symbiote web app to allow a live view into a running iOS app might be an example of that. 

As to merging the two projects, I'm not so sure how that would work. My sense is that Frank and iCuke have a different architectural philosophy, particularly regarding the separation of responsibilities between Ruby and Objective-C. I think the iCuke approach has been to try to keep as much of the implementation as possible in ruby, having the objective-C side just to dump a representation of the view hierarchy and to simulate low-level touch events. I can certainly appreciate some of the motivations there - personally I prefer writing ruby to writing Objective-C :) 

With Frank my approach has been to have an Objective-C layer which exposes a defined API which can be consumed by various clients. One illustration as to why I took this approach is that it allowed us to implement Symbiote in pure javascript, consuming the exact same API as the Ruby driver. I've been told by a Selenium dev that a rough analogy would be that Frank takes Selenium's approach and iCuke is more like Watir.

So, given that difference in philosophy I'm not sure exactly what a merge would constitute. I'm definitely really keen for the two projects to share ideas and inspiration from each other. I think it'd be great for us to share code too where appropriate - any line of code someone doesn't have to re-implement is a bonus as far as I'm concerned!

Of course, I'm really interested to hear other people's thoughts on this too.

Reply all
Reply to author
0 new messages