<div dir="ltr">Hi Folks ! <div><br></div><div>While I was watching Matzew&#39;s screencast[1] about using the AeroGear iOS Template (which bootstrap/help to create a new iOS project) I was thinking about pushing the concept even further.</div>
<div><br></div><div>Wouldn&#39;t it be nice to be able to scaffold a complete CRUD Native iOS app ? And of course by using the bullets we already have  :  Forge.</div><div><br></div><div>The idea would be to have the same stuff as the HTML5 Scaffolding plugin/addon but instead of generating JS and html files we generate *.h and *.m files (and of course a complete iOS app structure). The general workflow would stay the same : create a JEE project, generate entities, generate REST endpoints and scaffold the client.</div>
<div><br></div><div>So basically all we would have to do is to write those templates (+ some code to write to the correct location / create the skeleton).</div><div><br></div><div>I will be glad to start on this but I would need some help from the iOS gurus for one thing : having a clean iOS CRUD App  from which I could reverse engineer/extract the templates. This app, while staying simple, should contain all the possible use cases : String, numbers, boolean, Date but also some relation between entities  (1-to-1, 1-to-many) : </div>
<div><br></div><div>I started with this simple idea : </div><div><pre style="font-family:Consolas,&#39;Liberation Mono&#39;,Courier,monospace;font-size:13px;line-height:19px;margin-top:15px;margin-bottom:15px;background-color:rgb(248,248,248);border:1px solid rgb(221,221,221);overflow:auto;padding:6px 10px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;word-wrap:normal;color:rgb(0,0,0)">
<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Courier,monospace;font-size:12px;line-height:normal;margin:0px;padding:0px;border:none;background-color:transparent;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;word-wrap:normal">Team {
  name : String
  hasMany : Player
  hasMany: Tournamenent // many-to-many 
 }

Player {
name : String
dateOfBirth: Date
injured: boolean
hasOne : Team
}

Tournament {
 name: String
 price : number
 hasMany: Team
}
</code></pre></div><div><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Courier,monospace;font-size:12px;line-height:normal;margin:0px;padding:0px;border:none;background-color:transparent;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;word-wrap:normal"><br>
</code></div><div><br></div><div>The gist is here <a href="https://gist.github.com/sebastienblanc/9074932">https://gist.github.com/sebastienblanc/9074932</a></div><div><br></div><div>So, if anyone would like to create this app, I could start from there with a first draft. I will also try on my side but my objective-c skills are not really good enough right now ;)</div>
<div><br></div><div>I think that could be a very cool feature.</div><div><br></div><div>A last very important remark : you can reread this message and replace iOS with Android because once we got it shaped for iOS we could do exactly the same for Android.</div>
<div><br></div><div>Sebi  </div><div> </div><div><br></div><div>[1] <a href="https://vimeo.com/86978742">https://vimeo.com/86978742</a></div></div>