Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Mac project ?

Mac project ?

Scheduled Pinned Locked Moved The Lounge
comhelpquestion
20 Posts 11 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M M Towler

    As I said in a different thread yesterday, use the Qt library and avoid spending a lot of time learning mac specifics. And windows and linux specifics for that matter.

    P Offline
    P Offline
    Paul A Howes
    wrote on last edited by
    #10

    To borrow from the Java curse: Cross-platform GUI programming == write once, debug everywhere. :) Believe me, I have done my share of that over the years between Windows, OS X, Linux, FreeBSD, Solaris, and Irix. It's not as simple as the vendors of the cross-platform products want you to think. I'm not saying that it's impossible, but having been down that road several times, I learned that it requires a lot of manual code hacking and platform-specific compilation (#define/#ifdef). The various platform-specific frameworks (WinForms, WPF, Cocoa, etc.) are rich and have excellent GUI designer support. I actually find it quicker to write GUI's using the native framework than by using a cross-platform library such as Qt!

    Paul

    M 1 Reply Last reply
    0
    • C Christian Graus

      Anyone here do Mac dev and know of a site that's CP like in it's godliness, but for Mac ?

      Christian Graus Please read this if you don't understand the answer I've given you "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )

      P Offline
      P Offline
      Paul A Howes
      wrote on last edited by
      #11

      I have found a few good tutorial sites over the years, but nothing like CP: Cocoa Dev Central[^] is probably the best resource for picking up the basics of Cocoa programming. XCode 3.0 Tutorial[^] will get you started understanding some of the differences between Cocoa programming and other environments. The C#/Mono plug-in for XCode[^] is very useful if you want to take advantage of the .Net framework on the Mac.

      Paul

      1 Reply Last reply
      0
      • C codemunkeh

        Uhm...... I've seen something about drop tables on xkcd (where I got the idea from actually :lol:) but Bobby doesn't ring any bells. Well he might, know any bellboys named Bobby?


        Ninja (the Nerd)
        Confused? You will be...

        D Offline
        D Offline
        Dan Neely
        wrote on last edited by
        #12

        http://xkcd.com/327/[^]

        You know, every time I tried to win a bar-bet about being able to count to 1000 using my fingers I always got punched out when I reached 4.... -- El Corazon

        1 Reply Last reply
        0
        • M M Towler

          As I said in a different thread yesterday, use the Qt library and avoid spending a lot of time learning mac specifics. And windows and linux specifics for that matter.

          N Offline
          N Offline
          Nemanja Trifunovic
          wrote on last edited by
          #13

          M Towler wrote:

          use the Qt library and avoid spending a lot of time learning mac specifics. And windows and linux specifics for that matter.

          It is not that simple. With Qt you can produce some GUI that would compile and run on different platforms, but you would be pretty constrained in what you can do on each of them. For instance - how do you make a shell extension with Qt? And even if you could, how would it translate to Mac or Linux?

          Programming Blog utf8-cpp

          M 1 Reply Last reply
          0
          • C Christian Graus

            Anyone here do Mac dev and know of a site that's CP like in it's godliness, but for Mac ?

            Christian Graus Please read this if you don't understand the answer I've given you "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )

            P Offline
            P Offline
            parths
            wrote on last edited by
            #14

            I've just started looking into the IPhone SDK for office. My first look at Objective C. Seems good. http://developer.apple.com has elaborate documentation on mac / iphone programming which seems sufficient to get started. BTW, can anyone suggest a good Objective C compiler for windows?

            "It was when I found out I could make mistakes that I knew I was on to something." -Ornette Coleman "Philosophy is a study that lets us be unhappy more intelligently." -Anon.

            1 Reply Last reply
            0
            • P Paul A Howes

              To borrow from the Java curse: Cross-platform GUI programming == write once, debug everywhere. :) Believe me, I have done my share of that over the years between Windows, OS X, Linux, FreeBSD, Solaris, and Irix. It's not as simple as the vendors of the cross-platform products want you to think. I'm not saying that it's impossible, but having been down that road several times, I learned that it requires a lot of manual code hacking and platform-specific compilation (#define/#ifdef). The various platform-specific frameworks (WinForms, WPF, Cocoa, etc.) are rich and have excellent GUI designer support. I actually find it quicker to write GUI's using the native framework than by using a cross-platform library such as Qt!

              Paul

              M Offline
              M Offline
              M Towler
              wrote on last edited by
              #15

              Well I have been using Qt for some years now to produce UI apps for windows, os x, linux, solaris, irix and in the past even AIX and even OSF1 - and very rarely if ever have to write a platform specific #ifdef or run a non-windows debugger. I realise your mileage may vary depending on the types of tasks your application is performing though. I do get the odd compiler oddity that means I need occasional switches but these would happen regardless of the framework. My main worry with writing the code many times would be how likely it was they would all work the same way - which may depend on how complex the UI is.

              1 Reply Last reply
              0
              • N Nemanja Trifunovic

                M Towler wrote:

                use the Qt library and avoid spending a lot of time learning mac specifics. And windows and linux specifics for that matter.

                It is not that simple. With Qt you can produce some GUI that would compile and run on different platforms, but you would be pretty constrained in what you can do on each of them. For instance - how do you make a shell extension with Qt? And even if you could, how would it translate to Mac or Linux?

                Programming Blog utf8-cpp

                M Offline
                M Offline
                M Towler
                wrote on last edited by
                #16

                Nemanja Trifunovic wrote:

                how do you make a shell extension with Qt? And even if you could, how would it translate to Mac or Linux?

                This seems rather like a straw-man argument to me. Of course there are some things such as shell extensions that are fundamentally limited to one platform. Cross-platform is meaningless for these so this can hardly be used to criticise a cross-platform framework. A cross platform library is only ever going to be good for general UI or shell based applications.

                S 1 Reply Last reply
                0
                • M M Towler

                  Nemanja Trifunovic wrote:

                  how do you make a shell extension with Qt? And even if you could, how would it translate to Mac or Linux?

                  This seems rather like a straw-man argument to me. Of course there are some things such as shell extensions that are fundamentally limited to one platform. Cross-platform is meaningless for these so this can hardly be used to criticise a cross-platform framework. A cross platform library is only ever going to be good for general UI or shell based applications.

                  S Offline
                  S Offline
                  Shog9 0
                  wrote on last edited by
                  #17

                  M Towler wrote:

                  This seems rather like a straw-man argument to me. Of course there are some things such as shell extensions that are fundamentally limited to one platform.

                  um... Considering CG didn't say what he wanted to write, i guess i don't see where Nemanja's argument falls apart. Qt is a fine product, but there's more to life than general UIs...

                  Citizen 20.1.01

                  'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'

                  M 1 Reply Last reply
                  0
                  • S Shog9 0

                    M Towler wrote:

                    This seems rather like a straw-man argument to me. Of course there are some things such as shell extensions that are fundamentally limited to one platform.

                    um... Considering CG didn't say what he wanted to write, i guess i don't see where Nemanja's argument falls apart. Qt is a fine product, but there's more to life than general UIs...

                    Citizen 20.1.01

                    'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'

                    M Offline
                    M Offline
                    M Towler
                    wrote on last edited by
                    #18

                    Apologies if I musunderstood, but Nemanja appeared to be using a shell extension as an example of why Qt wasn't a good idea in general - which to me looked like a straw-man. Clearly such frameworks are not going to solve every problem you encounter, but I suggest it is best to go for a general solution first and only fall back on platform specific coding for the very few cases that needed it.

                    P N 2 Replies Last reply
                    0
                    • M M Towler

                      Apologies if I musunderstood, but Nemanja appeared to be using a shell extension as an example of why Qt wasn't a good idea in general - which to me looked like a straw-man. Clearly such frameworks are not going to solve every problem you encounter, but I suggest it is best to go for a general solution first and only fall back on platform specific coding for the very few cases that needed it.

                      P Offline
                      P Offline
                      Paul A Howes
                      wrote on last edited by
                      #19

                      There are many controls in Cocoa, like sheets and drawers, that no other framework or platform has. Qt #ifdef's those controls out by default. Developers are welcome to enable them, but then you have source code that will not compile on multiple platforms, even though it uses the same base framework. Qt (and other cross-platform UI frameworks) force your application to behave according to some lowest-common denominator. To me that is unacceptable; users of the various operating systems have some level of expectation of what applications "should" look like on their chosen platform. Learn Objective-C and Xcode. You may surprise yourself and like it!

                      Paul

                      1 Reply Last reply
                      0
                      • M M Towler

                        Apologies if I musunderstood, but Nemanja appeared to be using a shell extension as an example of why Qt wasn't a good idea in general - which to me looked like a straw-man. Clearly such frameworks are not going to solve every problem you encounter, but I suggest it is best to go for a general solution first and only fall back on platform specific coding for the very few cases that needed it.

                        N Offline
                        N Offline
                        Nemanja Trifunovic
                        wrote on last edited by
                        #20

                        M Towler wrote:

                        Nemanja appeared to be using a shell extension as an example of why Qt wasn't a good idea in general

                        No, I was using it to show an example that you can't skip learning OS specifics if you want to create a non-trivial GUI. I bet there are scenarios where Qt is a good idea, but you can't just say: "use the Qt library and avoid spending a lot of time learning mac specifics. And windows and linux specifics for that matter"

                        Programming Blog utf8-cpp

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups