RubyMotion meets IRC

RubyMotion meets IRC

Lighting talk @ RubyMotion Kaigi 2013

6139fd48daa26e786794598c4a6b546a?s=128

ninjinkun

May 30, 2013
Tweet

Transcript

  1. RubyMotion meets IRC ninjinkun http://ninjinkun.hatenablog.com Thursday, May 30, 13

  2. id:ninjinkun / @ninjinkun • Studying RubyMotion • Reimplement in-house app

    • Working time reporting system wrapper • UIWebView based • Waste 2 or 3 hours http://ninjinkun.hatenablog.com Thursday, May 30, 13
  3. Create IRC Client with RubyMotion https://github.com/ninjinkun/rubymotion-irc Thursday, May 30, 13

  4. Motivation • RubyMotion advantage • Ruby Syntax • Meta Programming

    • RegExp • Does text-based protocol fit to RubyMotion? https://github.com/ninjinkun/rubymotion-irc Thursday, May 30, 13
  5. About IRC • Internet Relay Chat • Easy text-based protocol

    • 1 message, 1 line https://github.com/ninjinkun/rubymotion-irc Thursday, May 30, 13
  6. DEMO https://github.com/ninjinkun/rubymotion-irc Thursday, May 30, 13

  7. Protocol Parser Implement IRC Client • Based on node.js code

    by my coworker • Change JS syntax to Ruby … work! • Study IRC protocol using this code • Need more powerful one • Can reuse Ruby class? →Search in github, copy paste … work! • (Sometimes)Work directly if it use only string and regexp Thursday, May 30, 13
  8. Socket Implement IRC Client • Use native library • GCDAsyncSocket

    • Easy install with Motion-CocoaPods • Implement with refer to Limechat code on github Thursday, May 30, 13
  9. View Implement IRC Client • Use UIWebView • Traditional way

    from Limechat • UIWebView + Client side HTML template engine • Implement minimum HTML template engine • Pass Ruby object to template engine • Implementation now broken.. Thursday, May 30, 13
  10. Wrap Up • RubyMotion is very much to text-based protocol

    • Web app like developing with HTML template • Future • Potential to implement constant connected IRC Client • Use VOIP API • Can’t sale on AppStore Thursday, May 30, 13
  11. For Student Hatena Summer Internship • 8/12 - 9/6 @

    Hatena HQ, Kyoto • Learning • Web App basics (Perl, SQL, HTTP, WAF, HTML, JavaScript) • iOS App, Big Data, Service Design • Commit • Plan, design, implement your idea to actual services • Deploy, Release, Get feedback • Salary, Hotel, Free Launch, Free Drink • Due 6/16 Search with “͸ͯͳΠϯλʔϯ” Thursday, May 30, 13