New PHP IDE In the works some suggestions please.

Discussion in 'Web Design and Development' started by Cabbit, May 15, 2010.

  1. Cabbit macrumors 68020

    Cabbit

    Joined:
    Jan 30, 2006
    Location:
    Scotland
    #1
    I have decided to learn Objective C so i have started planing 2 projects that i will be building up over the next few years but will be making functional base apps over this year.

    The first project is a shopping system, forum, and user management back end for one of my websites. So for this its basically an application that links to a MySQL database and pulls records or updates records with a little ftp file management on the side.
    I don't think this one will be dreadfully complex once i get the workings of it, my end goal is to have something of a basic Mac version of Actinic but in a much simpler application more tuned to my needs though building with the mindset to keep both the shop and admin end of the applications generic enough that they can be repackaged and sold.


    The next project is the much bigger one and the one i am seeking advice and recommendations for i wish to develop a PHP IDE more along the lines of Netbeans than Espresso.
    This project will purely be for the fun of creating a large application.
    My main focus will be;
    • How best to display code
    • How to integrate the development flow best.
    • Integrating Database management into the process.
    • Integrating Cabbit and perhaps Zend Framework.
    • Integrating a terminal window.
    • Integrating a PHP Error log.
    • Integrating an ability to turn Mamp on and off.
    • Support for multiple projects.
    • Zen coding for front end work.
    • A different code view for coding PHP and one for coding views and site design.
      • The code view like a IDE and the App design view more like a split screen affair with the HTML CSS and a live preview available depending on screen space
    • If possible integrate Gecko and Webkit for side by side site testing.
    • Some sort of sub versioning, memory and debugging.
     
  2. Cromulent macrumors 603

    Cromulent

    Joined:
    Oct 2, 2006
    Location:
    The Land of Hope and Glory
    #2
    The second project is pretty big and without any experience of Objective-C or another 'real' programming language you might struggle.

    If you want some help on that front learn C before Objective-C as it will give you the necessary knowledge to understand concepts such as pointers and dynamic memory management which you never had to deal with in PHP or Javascript. You'll also have to get used to statically typed languages.

    On the plus side quite a bit of what you want to do is already available as open source software which you can integrate into your IDE. I wouldn't try reinventing the wheel on things like the editor, other software does it better, use them as a basis.

    Projects are pretty easy. Just an XML file at heart really laying out the files and their paths which should be included, plus any other pertinent information you feel you need to store.

    You'll obviously need some version control integration. I'd recommend Git and Mercurial to integrate with as they are the up and coming version control systems. Don't bother with CVS or SVN (at least I wouldn't).
     
  3. Cabbit thread starter macrumors 68020

    Cabbit

    Joined:
    Jan 30, 2006
    Location:
    Scotland
    #3
    Thanks for the advice i was thinking of learning C first though get a lot of differing advice over skipping to Objective C to start of in that mind set or learn some "bad" habits from C first.

    My experience so far is in Ruby, Java, Javascript, PHP, and Basic.

    Oh something i would love to know is if anyone knows any good software for project management.
     
  4. jared_kipe macrumors 68030

    jared_kipe

    Joined:
    Dec 8, 2003
    Location:
    Seattle
    #4
    Out of curiosity, do you know what those "bad habits" are?
     
  5. Cabbit thread starter macrumors 68020

    Cabbit

    Joined:
    Jan 30, 2006
    Location:
    Scotland
    #5
    The bad habits were explained to me as mostly that learning C first will be like going back to a procedural language such as Basic and encourage that mind set while Objective C will be more familiar and encourage continuing to expand my programming in a objects first approach like i would in Ruby.

    The book i have to start with on Objective C is here. Though i have about 30 odd books on C and another 20 on C++ if i wish to explore that too.
     
  6. jared_kipe macrumors 68030

    jared_kipe

    Joined:
    Dec 8, 2003
    Location:
    Seattle
    #6
    People love to say how learning C teaches bad habits. But honestly, you already have experience in Java, so I don't see the huge threat in going back into procedural mindset.

    There are a lot of things you would learn from a C book, such as "Learn C on the Mac", that will not be covered by normal Objective-C books or documentation.

    Java is very C like in a lot of ways, but the most important differences will actually be important in an Objective-C environment.
     
  7. Cromulent macrumors 603

    Cromulent

    Joined:
    Oct 2, 2006
    Location:
    The Land of Hope and Glory
    #7
    The bad habits you might learn from C are absolutely nothing to the bad habits you will definitely learn from languages like PHP and Basic.
     
  8. jared_kipe macrumors 68030

    jared_kipe

    Joined:
    Dec 8, 2003
    Location:
    Seattle
    #8
    I know right! I was going to comment specifically on PHP's type indifference, but decided not to.
     
  9. Cabbit thread starter macrumors 68020

    Cabbit

    Joined:
    Jan 30, 2006
    Location:
    Scotland
    #9
    I wish to become a better programmer if it means learning C before Objective C then i am happy to do that.

    Wile this will mean less instant gratification as i wont be able to start the project for a few more months while i learn C i am happy to put in the work.

    If i wanted to take the easy route out i could always build it with Java but that would be dull not learning a new language, or finally getting to put Xcode so some use.

    From what i have heard Objective C should not be too dissimilar to Ruby and C seems not to be to different to Java from what i have seen so far.

    And i will add Object Oriented PHP is pretty solid though it will always be a loosely typed language with many ways to achieve the same end goal.
     
  10. Cromulent macrumors 603

    Cromulent

    Joined:
    Oct 2, 2006
    Location:
    The Land of Hope and Glory
    #10
    Before I say anything else I'd suggest you post any C / Objective-C questions you may have in the Mac Programming forum here on Mac Rumors. You'll get better help. I don't think most of the regulars in that section read the web dev area.

    Here's the thing.

    C has pretty much the same syntax as Java but it has many differences. There are no exceptions, no object orientated features (unless you decide to code them yourself, it is perfectly possible to write object orientated C code), no array boundary checking (overflowing arrays is a common beginner mistake), no strings, no checking to make sure pointers point to valid memory locations.

    Everything you do in C you are in control of. This is both very good and very bad. You can some incredibly clever stuff in C. You can also do some incredibly stupid stuff in C.

    Objective-C is a superset of C. That means that any valid C program is automatically a valid Objective-C program. Objective-C adds some explicit object orientated features on top of C but it still allows you a lot of control of what you are doing. You must have a solid grasp of dynamic memory management (even if you do use the garbage collection feature in the new versions of Objective-C) and pointers. If you skimp on learning those aspects (and that is what learning C is for) at the beginning you'll hit a wall of pain later on. Plus learning C will make you a better programmer when it comes to languages like Java, Python, C++ etc etc.
     
  11. Cabbit thread starter macrumors 68020

    Cabbit

    Joined:
    Jan 30, 2006
    Location:
    Scotland
    #11
    Im posting more wanting ideas for features to add to my applications which as there web related fit in here.

    Learning C and Objective C is just a matter of course, i will learn what ever languages i need to accomplish my goals.
     
  12. Cromulent macrumors 603

    Cromulent

    Joined:
    Oct 2, 2006
    Location:
    The Land of Hope and Glory
    #12
    That is why I suggested you post any C / Objective-C related questions to the Mac Programming forum. I did not state this particular thread should have been posted there.
     
  13. SailorTom macrumors regular

    Joined:
    May 15, 2008
    #13
    I'm not an advanced developer by any means, but it sounds like the ideas you have atm are great. I'll try and keep up with developments to see what happens.

    I'm not sure about how a live preview for php would work though. In the middle of coding php script it's not going to work, is it? Wouldn't it be better to be able to code then click a preview button. Live updating for html and css would be awesome though.
     
  14. Cabbit thread starter macrumors 68020

    Cabbit

    Joined:
    Jan 30, 2006
    Location:
    Scotland
    #14
    Aye i was thinking about that, it would be lovely to have layout tools like what IDEs interface builder though i think it would be very complex to build drag and drop controls, it would get to the stage where it produces bloated dw style code.
     
  15. SailorTom macrumors regular

    Joined:
    May 15, 2008
    #15
    Well that depends on the implementation. I came across bluefish the other day (haven't actually installed it yet though) which can add html code blocks (such as for a table) with the click of a button. Maybe that is an idea you could consider.
     

Share This Page