Apple's new Xcode 4 could portend new HTML5 development tools

Posted:
in Mac Software edited January 2014
Apple's newly minted Xcode 4 integrated development tool reflects a strong investment in building software designed to create new software, particularly for the iPhone and iPad. Developers say it could also signal a new push into Adobe's territory, if Apple delivers a similar development environment aimed at building HTML5 web content.



Xcode 4 was previewed at Apple's Worldwide Developer Conference this summer. The company just recently released a fresh private beta of Xcode 4 to all of its developers. The newly revamped workflow helps developers organize the code and supporting files that make up the applications they ship for Mac OS X and iOS devices, integrates graphical interface layout tools with coding windows, and incorporates document version control to track changes over time.



Appleinsider featured the major new changes in Xcode 4 when it first arrived. Developers note, however, that the resources Apple is pushing into its development tools, in large part due to the wild success of the iPhone App Store, will make it easy for the company to reuse its efforts to deliver solutions for parallel development tasks.



One example of how the company's significant investments in creating Xcode 4 could be applied is in shipping a web development tool aimed at creating HTML5 content for the web and for use within web-based tools such as Apple's iAd mobile advertising program, digital books and web apps targeted at iPad, and its iTunes LP and iTunes Extras content.



Much of the dynamic interactive content now being created for advertising, digital publishing, or media bonus content is built in Adobe Flash Professional, simply because Adobe has delivered the graphical tools intended to help designers to create such content without having to manually edit the web's HTML, JavaScript and CSS files. Adobe has been relatively slow to embrace HTML5 however, only adding basic support to its Dreamweaver web development tool.



If Apple leveraged the Xcode 4 work it has already completed (and has paid for as part of its investment in fostering iOS App Store and Mac software) to target HTML5 development, it would propel the company past other fledgling efforts to serve the tremendous latent demand for an integrated web development tool, and could establish the company as a premiere source for web creation tools.







On page 2 of 3: This all happened before.



This all happened before



The idea of Apple using its existing software to expand into new areas is nothing new. Apple filled a huge vacuum for native Mac OS X productivity tools with Keynote, purportedly designed in large measure to allow its chief executive Steve Jobs to create presentation slides.



The look and feel of Keynote was subsequently expanded with the Pages word processor and Numbers spreadsheet to deliver a suite of iWork apps. Apple just recently the suite ported to the iPad, where it now serves as the top selling productivity tools of what is now an iconically popular new tablet.



Apple has similarly built a suite of lifestyle apps in iLife, designed to create a digital hub for creating photos, movies, web pages and music designed to sell Macs. The company then reused the overall interface for its GarageBand music application to deliver Instruments (below), a development tool based on top of Sun's DTrace, a comprehensive dynamic tracing framework.



Instruments leveraged the time scrolling interface of GarageBand to make it graphically intuitive to monitor the performance of processes over time, their resource consumption, and so on.







A third application Apple created and reused was iTunes itself. While distributed for free, iTunes was financed by the popularity of the iPod. Apple's success in selling iPods resulted in liberal investment in iTunes, enabling the software to quickly outpace the company's other apps in sophistication and utility. The most notable contrast in good and bad software at Apple may have been iTunes versus the Finder.



By the time Apple shipped Mac OS X Leopard, the overall interface of iTunes was so refined that it made sense to simply reuse most of it to create a new Finder in order to replace the lagging cruft that had been lingering since the release of Panther. From the new Finder's device, places and search listings to Cover Flow icon browsing, the Leopard Finder was able to get a major refresh by simply reusing much of the word created for iTunes.



On page 3 of 3: Xcode for web content.



Xcode for web content



Xcode 4 borrows from iTunes as well, from its content listings down to its faux-LCD display that presents status updates and progress feedback. The new development tool also presents some novel new elements, such as directly actionable path listings called the Jump Bar, which will likely find its way into other apps, including a future Finder.



Other integrated features, including support for browsing documents in Time Machine-like version control or the ability to compare the content of two documents, would also make sense to add to the Finder or to a new, standalone rich editing environment. And the most likely business model to target such an integrated document management tool at is the web.



Xcode 4 also integrates the graphical layout features of Interface Builder with its text-oriented programming tools. Apple already ships Dashcode (below), a tool intended for graphically creating Dashboard widgets and simple web applications targeted at Safari or the iPhone or iPad.







By similarly integrating this graphical tool into an Xcode 4-like environment (below) for building web content, the company could offer a strong rival to Flash Professional intended to build standards-based web content, without having to undertake a massive investment in building such a tool from scratch.



«134

Comments

  • Reply 1 of 63
    alandailalandail Posts: 690member
    This is why Apple uses Objective-C - to make code reuse easy. In many cases, the code being reused is code that has become part of the OS for all developers to reuse.
  • Reply 2 of 63
    mactelmactel Posts: 1,275member
    I guess I'm looking for a programmers review of Xcode 4.0. How does Objective C compare with Java and C#. What's new between Xcode 4.0 and Xcode 3.2 besides the interface changes. Are there any new coding paradigms in Objective C or is it all good. Beside C/C++ and Objective C does Xcode support other languages (e.g. Java, Rudy, PHP, etc.). Those are just some things I'd be interested in since I haven't used Xcode 4.0 before and plan to soon.



    I'm used to Visual Studio and C/C++/C# on Windows. I'm hoping Objective C as much a pleasure to code in as C# if not better. It appears Xcode 4.0 is along the way of ease of use as Visual Studio.



    Does Xcode 4.0 ship with built-in source control or can it easily plug into some free version out there (subversion)?
  • Reply 3 of 63
    elmcitywebelmcityweb Posts: 109member
    Well isn't that special! Those boys at Apple come up with the darndest things.
  • Reply 4 of 63
    > Developers say it could also signal a new push into Adobe's territory



    File this under "D" for "Duh". Why else would Apple sit on the release of SDK4 until the day before the release of Adobe CS5 if not to maximize the damage to that product?



    Only a rube would believe SDK4 just happened to be finalized on that day. Everyone else is trying for the highest bounty in the Valley right now: getting a copy of that internal Apple memo....
  • Reply 5 of 63
    kirannkirann Posts: 1member
    Xcode is a suite of tools for developing software on Mac OS X, developed by Apple. Xcode 3.2, the latest major version, is bundled free with Mac OS X v10.6, but is not installed by default. Instead it must be installed from the Mac OS X DVD, or downloaded from the Apple website.



    mardi gras masks
  • Reply 6 of 63
    davegeedavegee Posts: 2,765member
    Quote:
    Originally Posted by kirann View Post


    Xcode is a suite of tools for developing software on Mac OS X, developed by Apple. Xcode 3.2, the latest major version, is bundled free with Mac OS X v10.6, but is not installed by default. Instead it must be installed from the Mac OS X DVD, or downloaded from the Apple website.



    mardi gras masks URL REMOVED!



    I reported the post as SPAM but feel free to do the same...





    The spam bots are getting better all the time...



    This one:



    1 - Creates a new account

    2 - Finds a discussion thread

    3 - Comes up with some sembilance of semi on-topic one line post

    4 - Then links to their spam site



    This sucks cause in no time the boards will be destroyed by the likes of these bots unless someone can find a new way to thwart them.
  • Reply 7 of 63
    esummersesummers Posts: 910member
    I don't get where the HTML or Adobe stuff fits in... Xcode 4 is great, but it will never be for HTML or eBooks. I could see this being a precursor to other things... maybe a new programming language. Really all we can read from Xcode 4, is that Apple is finally releasing an IDE to be proud of. It is also the culmination of many of the goals of the LLVM project (moving the compiler in to the IDE for instance). Dashcode has not changed in a long time and (although contains some neat ideas) is too limited to use in the real world for HTML development. The only goal that Xcode is pursuing is the creation of higher quality apps on the app store. It has very advanced tools to locate memory retain/release errors and other features that prevent programs from crashing.



    The conclusion he is jumping to is a _really_ big stretch. There is no way the work done on Xcode could translate to HTML. It is all designed for imperative programming, not declarative programming. There is no way this code could result in an HTML editing environment. Not to mention that completely different teams work on the html and iwork side. Dashcode is the only place that HTML falls under the Xcode team and that was created as a necessity to support Dashboard.



    I used to like the Roughly Drafted articles, but they have really gone down hill lately.
  • Reply 8 of 63
    mr. memr. me Posts: 3,219member
    Quote:
    Originally Posted by MacTel View Post


    ...



    Does Xcode 4.0 ship with built-in source control or can it easily plug into some free version out there (subversion)?



    So I take it that it is too much trouble to download Xcode 4.0 and check it for yourself?
  • Reply 9 of 63
    esummersesummers Posts: 910member
    Quote:
    Originally Posted by RationalTroll View Post


    > Developers say it could also signal a new push into Adobe's territory



    File this under "D" for "Duh". Why else would Apple sit on the release of SDK4 until the day before the release of Adobe CS5 if not to maximize the damage to that product?



    Only a rube would believe SDK4 just happened to be finalized on that day. Everyone else is trying for the highest bounty in the Valley right now: getting a copy of that internal Apple memo....



    This is only a coincidence, Apple isn't targeting Adobe they are just one of the first offenders... Apple was starting to see too many third party runtimes that would constrain their efforts to advance iOS. It is the same reason Apple dumped their own other framework/runtime Carbon. Before that they dumped Cocoa for Java.
  • Reply 10 of 63
    alandailalandail Posts: 690member
    Quote:
    Originally Posted by esummers View Post


    This is only a coincidence, Apple isn't targeting Adobe they are just one of the first offenders... Apple was starting to see too many third party runtimes that would constrain their efforts to advance iOS. It is the same reason Apple dumped their own other framework/runtime Carbon. Before that they dumped Cocoa for Java.



    Apple never dumped Cocoa (unless you are referring specifically to webobjects moving to Java, which I believe predates Apple buying NeXT).
  • Reply 11 of 63
    esummersesummers Posts: 910member
    Quote:
    Originally Posted by alandail View Post


    Apple never dumped Cocoa (unless you are referring specifically to webobjects moving to Java, which I believe predates Apple buying NeXT).



    No, I am referring to the port of Cocoa on java that nobody used. I was not referring to Objective-C Cocoa (duh) or Objective-C WebObjects (different platform). I wouldn't be surprised if you never heard of it because it was deprecated in 2005. It was a side project to WebObjects. Carbon is the better example because that had widespread use.



    I was basically trying to say that they hold themselves to the same standards as everyone else. This was definitely being done for technical reasons. They are essentially trying to prevent lowest common denominator apps that target both iPhone and Android. We will all be a lot better off for this. If you have a very simple application where this doesn't matter so much, then you can use AJAX to implement. That is easier to support moving forward because it is an open standard.



    Pursuing a multi-platform app that can communicate between the platforms is very complex endeavor. User experience suffers greatly if you try to avoid the problems by bolting on a layer that makes both platforms look identical. There are very few good cross-platform apps for this reason. All of the good ones do not use a third party user interface layer. These apps write from scratch, but follow a compatible specification. This usually requires more work then writing separately for both platforms without compatibility. These interface layers drastically cut development costs, but they also cut corners that significantly hurt user experience. Games are a notable exception because they inherently have user interaction methods that work better with cross-platform tools. It seems that Apple is creating exceptions for games engines for precisely this reason.
  • Reply 12 of 63
    sheffsheff Posts: 1,407member
    Quote:
    Originally Posted by esummers View Post




    Pursuing a multi-platform app that can communicate between the platforms is very complex endeavor. User experience suffers greatly if you try to avoid the problems by bolting on a layer that makes both platforms look identical. There are very few good cross-platform apps for this reason.



    Games are a notable exception because they inherently have user interaction methods that work better with cross-platform tools. It seems that Apple is creating exceptions for games engines for precisely this reason.



    Yup, if it gets easier to develop for iPhone/Mac we will get much better applications without the desire to just build something that is "cross platform" which essentially means that it sucks equally bad on all platforms. Especially true of the UI, not just the look but the feel of the app as well.
  • Reply 13 of 63
    Quote:
    Originally Posted by esummers View Post


    I don't get where the HTML or Adobe stuff fits in.



    Actually I noticed in this years Safari steam of WWDC presentations, a few of the presenters had made their html5 apps/examples in xcode.
  • Reply 14 of 63
    Quote:
    Originally Posted by esummers View Post


    I don't get where the HTML or Adobe stuff fits in... Xcode 4 is great, but it will never be for HTML or eBooks. I could see this being a precursor to other things... maybe a new programming language. Really all we can read from Xcode 4, is that Apple is finally releasing an IDE to be proud of. It is also the culmination of many of the goals of the LLVM project (moving the compiler in to the IDE for instance). Dashcode has not changed in a long time and (although contains some neat ideas) is too limited to use in the real world for HTML development. The only goal that Xcode is pursuing is the creation of higher quality apps on the app store. It has very advanced tools to locate memory retain/release errors and other features that prevent programs from crashing.



    The conclusion he is jumping to is a _really_ big stretch. There is no way the work done on Xcode could translate to HTML. It is all designed for imperative programming, not declarative programming. There is no way this code could result in an HTML editing environment. Not to mention that completely different teams work on the html and iwork side. Dashcode is the only place that HTML falls under the Xcode team and that was created as a necessity to support Dashboard.



    I used to like the Roughly Drafted articles, but they have really gone down hill lately.



    Yeah I don't see the connection between Xcode 4 and html at all. What I do see is that Apple has had a huge influx of developers due to iOS, and they are trying to prevent those developers from using 3rd party development tools.



    Also, due partly to licensing issues (GPLv3) and partly due to technical reasons (GCC was not really designed to be modular and expose a bunch of functionality for IDEs to use) Apple pursued LLVM and CLANG and that has finally really started to pay off.



    Combine those two together and you get Xcode 4. Xcode 4 will be a much nicer tool for all the new developers on Apple's platforms.
  • Reply 15 of 63
    macshackmacshack Posts: 103member
    Quote:
    Originally Posted by Mr. Me View Post


    So I take it that it is too much trouble to download Xcode 4.0 and check it for yourself?



    Sir, your impolite response is a disgrace to this community. Instead of taking the time to be rude, you should have taken the time to be helpful.



    To answer the mans' question, which is still left unanswered. I know that windows counterparts such as visual source safe or the more expensive team version of

    Visual studio. Xcode has an SCM (source control management) system build right into it. Here you can read more about it http://developer.apple.com/mac/libra...roduction.html
  • Reply 16 of 63
    mdriftmeyermdriftmeyer Posts: 7,317member
    Quote:
    Originally Posted by esummers View Post


    I don't get where the HTML or Adobe stuff fits in... Xcode 4 is great, but it will never be for HTML or eBooks. I could see this being a precursor to other things... maybe a new programming language. Really all we can read from Xcode 4, is that Apple is finally releasing an IDE to be proud of. It is also the culmination of many of the goals of the LLVM project (moving the compiler in to the IDE for instance). Dashcode has not changed in a long time and (although contains some neat ideas) is too limited to use in the real world for HTML development. The only goal that Xcode is pursuing is the creation of higher quality apps on the app store. It has very advanced tools to locate memory retain/release errors and other features that prevent programs from crashing.



    The conclusion he is jumping to is a _really_ big stretch. There is no way the work done on Xcode could translate to HTML. It is all designed for imperative programming, not declarative programming. There is no way this code could result in an HTML editing environment. Not to mention that completely different teams work on the html and iwork side. Dashcode is the only place that HTML falls under the Xcode team and that was created as a necessity to support Dashboard.



    I used to like the Roughly Drafted articles, but they have really gone down hill lately.



    How did you go from an Integrated Development Environment and include HTML and eBooks for what is commonly known as a compiled programming environment suite?



    Use Typesetting tools for typesetting. Use Markup tools for Markup and use IDEs for serious programming.
  • Reply 17 of 63
    giosacconegiosaccone Posts: 121member
    Apple and HTML5: a nice couple
  • Reply 18 of 63
    lowededwookielowededwookie Posts: 1,000member
    Quote:
    Originally Posted by esummers View Post


    The conclusion he is jumping to is a _really_ big stretch. There is no way the work done on Xcode could translate to HTML. It is all designed for imperative programming, not declarative programming. There is no way this code could result in an HTML editing environment. Not to mention that completely different teams work on the html and iwork side. Dashcode is the only place that HTML falls under the Xcode team and that was created as a necessity to support Dashboard.



    I completely disagree I think XCode is a perfect place to do web application development. That's what Daniel is getting at not just static HTML5 pages but MobileMe class applications.
  • Reply 19 of 63
    walneywalney Posts: 70member
    .....
  • Reply 20 of 63
    jmmxjmmx Posts: 341member
    Quote:
    Originally Posted by MacTel View Post


    I guess I'm looking for a programmers review of Xcode 4.0. )?



    This does not directly address all your questions, but is a really good resource:



    http://www.macresearch.org/cocoa_for_scientists



    Besides Cocoa, there are tutorials on OpenCL, etc.
Sign In or Register to comment.