Note that there are some explanatory texts on larger screens.

plurals
  1. POCocoa Architecture advice for a small IDE
    text
    copied!<p>I have embarked in a personal project for developing a simple Cocoa IDE for microcontroller programming on Mac OSX Snow Leopard. As the programming is not a an issue, I have some difficulties choosing the architecture to blueprint the high-level blocks of the application. I was thinking about:</p> <ol> <li>Have the possibility to set project details, similar to what XCode does when user creates a new project; probably the possibility to include accessory views for project details that might be stored in user defaults or plists. <li>Have the possibility to save the project in a custom, specific filetype, with a specific extension that the app will be owner of (document-based app). <li>Have the possibility to add new files to the project, in particular h-file headers that will be automatically included for compilation; when choosing new file, to have the possibility to choose the type of file (similar to XCode); <li>Have a simple editor, text-view-based, for example, without syntax coloring, check, highlighting; however to design it in such a way to allow future development of syntax coloring/ check, via a <code>NSScanner</code>, for example; <li>Have the possibility to auto generate a Makefile for compilation, based on any persistence method at choice. <li>Have the possibility to log compiler verbosity into a logging view (text view?) either via <code>stdout</code> or other better approach; <li>Using an <code>NSOutlineView</code> with a tree controller (for example) for file browsing (similar to the XCode's project files on left pane); <li>Having the project packaged into folder-like project files, with <code>NSFileWrapper</code> for example (that will include the main.c file, additional header, the autogenerated Makefile and a plist for project settings etc); <li>Having settings persistence using <code>NSUserDefaults</code> for project settings and application preferences via application-shared singleton (for example); <li>Using some classes in the model component to connect with microcode compiler via <code>NSTask</code> and display compilation and upload results in the logging text view; <li>etc </ol> <p>If any of you, with much more experience than me, would embark in such a project, what would be your choice of architectural components ? Same (split-views, text views, <code>NSTask</code>, filewrappers, outline views with tree controllers, separate app delegate from document and shared instance of document controller etc), or would you choose a different approach ? A much simpler one ?</p> <p>I would appreciate any possible hint on this. Thank you for taking your time. If anyone interested, I will keep informed on the progress.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload