Yelena iPad code editor. How it's made

Discussion in 'iPad Apps' started by yelena, Oct 27, 2012.

  1. yelena macrumors newbie

    yelena

    Joined:
    Oct 26, 2012
    #1
    "Capabilities are limited by imagination. Yelena. Nothing Impossible."

    Yelena is yet another code editor. The main goal is to ease the workflow of developers and Web programmers providing thin client to edit code remotely.
    When you have to edit your documents immediately, but you are so far from workstation, no doubt that iPad with this app will help you.
    Currently the app supports FTP/SFTP connections and integrated with Dropbox. While developing first public version were spent 300 hours without sleeping, 120 commits, 20 holidays and 30 litres of coffee.
    But it was worth it's salt. Next you'll find the most of interesting technical developing moments.



    SFTP Connection

    Access to files over SFTP connection is essential part of the project. It was clear before even first line of Yelena was appear. But we had bad news. Apple doesn't provide any framework to use SSH protocol.

    libssh2 provides all necessary API to use SFTP. But we should compile libssh2 for iOS architecture and implement our own asynchronous Objective C wrapper:

    - (void) contentsOfDirectoryAtPath: (NSString*)path;
    - (void) contentsAtPath: (NSString *) path;
    - (void) createFileAtPath: (NSString*) path contents: (NSData *) contents;
    - (void) createDirectoryAtPath: (NSString *) path;
    - (void) removeFileAtPath: (NSString *) path;
    - (void) removeDirectoryAtPath: (NSString *) path;
    - (void) searchAtPath: (NSString *) path searchText: (NSString *) searchText;
    - (void) renameItem: (NSString *) pathFrom to: (NSString *) pathTo;

    Editor and Advanced Keyboard

    To create an app from scratch was not an object. The main goal was to combine experience and available existing solutions. CFNetwork, libssh2, Dropbox SDK and CodeMirror helped us to implement it.
    CodeMirror is amazing code-editor component that can be embedded in Web pages. While libssh2 is a heart of Yelena then CodeMirror is its brain.
    An interesting target was met - integration of available JavaScript solution with Objective C logic. So add-on supporting touchscreen interface was developed.
    We refused from native text selection and now it based on HTML5 events and Objective C handlers.

    It was necessary to create yet another code-editor for iPad, because currently alternative apps offer unusable keyboards for us.
    We wanted our own keyboard and understood that we weren't alone. So advanced customizable keyboard with ribbon-interface
    and predefined set of keys for each supported programming language was implemented.

    More info about App

    Available on the App Store: https://itunes.apple.com/us/app/yelena/id569260830
    Facebook: http://www.facebook.com/yelena.nothing.impossible
    Video: http://vimeo.com/51119734
    Twitter: https://twitter.com/yelenabun


    Don't hesitate to ask about developing details :)
     
  2. ElderBrE macrumors regular

    ElderBrE

    Joined:
    Apr 14, 2004
    #2
    Looks good, saw your posts on some code app reviews and decided to take a look. Looks strong and will probably purchase since it already offers much lower pricing than alternatives.
     

Share This Page