or Connect
AppleInsider › Forums › Software › Mac Software › Apple's new Xcode 4 could portend new HTML5 development tools
New Posts  All Forums:Forum Nav:

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

post #1 of 62
Thread Starter 
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.

post #2 of 62
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.
post #3 of 62
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)?
post #4 of 62
Well isn't that special! Those boys at Apple come up with the darndest things.
iPad News, App Reviews, and More: iPadNewsUpdates.com
Reply
iPad News, App Reviews, and More: iPadNewsUpdates.com
Reply
post #5 of 62
> 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....
post #6 of 62
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.
Apple Fanboy: Anyone who started liking Apple before I did!
Reply
Apple Fanboy: Anyone who started liking Apple before I did!
Reply
post #7 of 62
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.
post #8 of 62
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?
post #9 of 62
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.
post #10 of 62
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).
post #11 of 62
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.
post #12 of 62
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.
--SHEFFmachine out
Da Bears!
Reply
--SHEFFmachine out
Da Bears!
Reply
post #13 of 62
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.
post #14 of 62
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.
"Slow vehicle speeds with frequent stops would signal traffic congestion, for instance."

uh... it could also signal that my Mom is at the wheel...
Reply
"Slow vehicle speeds with frequent stops would signal traffic congestion, for instance."

uh... it could also signal that my Mom is at the wheel...
Reply
post #15 of 62
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
Posted by the door post at the post office the post man posted his last post-millennial post card with a Penny Black postage stamp via the Royal Post.
Reply
Posted by the door post at the post office the post man posted his last post-millennial post card with a Penny Black postage stamp via the Royal Post.
Reply
post #16 of 62
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.
post #17 of 62
Apple and HTML5: a nice couple

Giovanni B. Saccone
Creativity is just connecting things (Steve Jobs)
> > > My wEb SiTe < < <

Reply

Giovanni B. Saccone
Creativity is just connecting things (Steve Jobs)
> > > My wEb SiTe < < <

Reply
post #18 of 62
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.
post #19 of 62
.....
post #20 of 62
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.
post #21 of 62
Quote:
Originally Posted by MacTel View Post

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)?

It's important not to confuse Xcode (the development tool) with Objective-C (the language) and Cocoa (the API). Xcode 4 ships with the same versions of Objective-C and Cocoa as Xcode 3.x.

That said, I believe I can answer your questions:

- If you've never coded in Objective-C it's going to seem very weird compared to C#. It's fully object oriented and has the same concepts (methods, classes, single inheritance, interfaces (called protocols in Obj-C)) but the syntax is strange and you need to get to grips with manual memory management, at least if you plan on doing iPhone development.
- No new coding paradigms in Xcode 4, but Objective-C does have paradigms that you don't tend to see in C# e.g. KVO/KVC and blocks.
- Supports Ruby via the Ruby-Cocoa bridge.
- Java Support deprecated. PHP not relevant (can't be used for Mac or iPhone development, which is the purpose of Xcode).
- Xcode 4 is more like visual studio than Xcode 3 so you'll probably like it.
- Xcode included built-in SVN support but it's not all that great. I use Versions, or the command line.

Hope that helps.
"There's no chance that the iPhone is going to get any significant market share. No chance" - Steve Ballmer
Reply
"There's no chance that the iPhone is going to get any significant market share. No chance" - Steve Ballmer
Reply
post #22 of 62
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?

Give the guy a break. This is what blogs are for - to communicate and maybe even (god forbid) help each other.

You could as easily answered his question as be a twerp with your reply.
post #23 of 62
Wasn't the issue more that Apple would need to make a tool for designers as much as developers? How to bridge the gap for creating HTML5 content. THough I could see Apple getting the bit between its teeth, and not wanting Adobe to be the main rate limiting step/controller for the most widely used HTML5 authoring/web design tool.
post #24 of 62
I sincerely hope Apple is not going to give away the whole website developement business to Adobe. To make a Flash site, you obviusly use Flash or the Dreamweaver/Flash combo. To make HTML, you buy Dreamweaver and install the HTML5 add-on.
As Daniel mentions: they are still in an early stage of developement. But I'll give them credit, considering there aren't any alternatives yet. And it shows they aren't trying to hinder HTML5 developent even if it means competition to their Flash universe (maybe they've seen the painting on the wall...)? My main problem with DW is the antiquated and inconsistent user interface: so back to the 90's and PageMill-like.

So here's a great opportunity for Apple to steal the limelight once again: Use whatever bits and pieces you've got in your developer's war chest (whether in XCode, iWeb, iWork) and put together a nice and simple HTML5 web editor for the rest of us. I must admit I made my first wary steps into webdesign in the early 90's with Apple's venerable (Claris) HomePage...
.
post #25 of 62
Quote:
Originally Posted by Socrates View Post

- If you've never coded in Objective-C it's going to seem very weird compared to C#. It's fully object oriented and has the same concepts (methods, classes, single inheritance, interfaces (called protocols in Obj-C)) but the syntax is strange and you need to get to grips with manual memory management, at least if you plan on doing iPhone development.

It's probably worth remarking that Objective-C is a primary ancestor language of Java, and thus C#, which is why many of the concepts are similar.
post #26 of 62
Quote:
Originally Posted by lowededwookie View Post

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.

The idea sounds a bit of a stretch to me and I agree with everyone that there's nothing really to suggest that this is what there doing. It would be good though, at the moment if you do web development the Mac is a bad platform to use as you basically have the choice of Dreamweaver which sucks and some basic text editors. At the same time, the next Xcode is only being Xcode up to date with the rest of IDE's around 8 years ago, which doesn't give you much faith that it's a good IDE to go with.

Quote:
Originally Posted by sheff View Post

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.

Cross platform does not mean equally bad on all platforms. You can almost guarantee that every large application that Microsoft, Adobe and even Apple make that is available for the Mac and PC has code written in C that is re-used between the two. Any decent developer knows the difference between interface code and business logic. Business logic rules are the same across two platforms and have no need to be re-written but Apple is making app developers essentially write out exactly the same code twice. Interface code does need to be re-written for each platform and is completely seperate, any developer that wanted to create a decent app would also re-write it to make there app popular on both platforms. Saying that "cross platform" means it sucks on all platforms is just a demonstration of not having a clue about development or being quite bad at it. True you can make an app quickly and badly using the same interface code, but you can make your app quickly and badly doing it natively as well. Preventing people from re-using code that isn't going to change functionally just means they have less time to write the code that should change.
post #27 of 62
ooo, this is intensive enough to delve a little deeper and use it more than just for my blog

Phillip Gibb
SynapticLight
Phillip Gibb

Blogger | Java Programmer | Filmmaker
a journey in Filmmaking and Social Media
[ Digital Business Card | SynapticLight | Twitter ]
Reply
Phillip Gibb

Blogger | Java Programmer | Filmmaker
a journey in Filmmaking and Social Media
[ Digital Business Card | SynapticLight | Twitter ]
Reply
post #28 of 62
Quote:
Originally Posted by timgriff84 View Post

Cross platform does not mean equally bad on all platforms. You can almost guarantee that every large application that Microsoft, Adobe and even Apple make that is available for the Mac and PC has code written in C that is re-used between the two. Any decent developer knows the difference between interface code and business logic. Business logic rules are the same across two platforms and have no need to be re-written but Apple is making app developers essentially write out exactly the same code twice. Interface code does need to be re-written for each platform and is completely seperate, any developer that wanted to create a decent app would also re-write it to make there app popular on both platforms. Saying that "cross platform" means it sucks on all platforms is just a demonstration of not having a clue about development or being quite bad at it. True you can make an app quickly and badly using the same interface code, but you can make your app quickly and badly doing it natively as well. Preventing people from re-using code that isn't going to change functionally just means they have less time to write the code that should change.

+1 Insightful

I find an inverse relationship between actual development experience and a willingness to parrot Jobs' talking points on the absurd issue of banning xplat tools and frameworks.
post #29 of 62
Quote:
Originally Posted by RationalTroll View Post

+1 Insightful ...

-2 Not insightful at all.

Quote:
Originally Posted by timgriff84 View Post

... You can almost guarantee that every large application that Microsoft, Adobe and even Apple make that is available for the Mac and PC has code written in C that is re-used between the two. Any decent developer knows the difference between interface code and business logic. Business logic rules are the same across two platforms and have no need to be re-written but Apple is making app developers essentially write out exactly the same code twice. ...

Since all C code is valid Objective-C code, if that code is "business logic" code, then, it would be reusable in an Objective-C project. So, what is said here is really a bit of nonsense.
post #30 of 62
Quote:
Originally Posted by Socrates View Post

It's important not to confuse Xcode (the development tool) with Objective-C (the language) and Cocoa (the API). Xcode 4 ships with the same versions of Objective-C and Cocoa as Xcode 3.x.

That said, I believe I can answer your questions:

- If you've never coded in Objective-C it's going to seem very weird compared to C#. It's fully object oriented and has the same concepts (methods, classes, single inheritance, interfaces (called protocols in Obj-C)) but the syntax is strange and you need to get to grips with manual memory management, at least if you plan on doing iPhone development.
- No new coding paradigms in Xcode 4, but Objective-C does have paradigms that you don't tend to see in C# e.g. KVO/KVC and blocks.
- Supports Ruby via the Ruby-Cocoa bridge.
- Java Support deprecated. PHP not relevant (can't be used for Mac or iPhone development, which is the purpose of Xcode).
- Xcode 4 is more like visual studio than Xcode 3 so you'll probably like it.
- Xcode included built-in SVN support but it's not all that great. I use Versions, or the command line.

Hope that helps.


Also, Xcode 4 is a huge change in workflow. This was one of the primary goals of the team. I think they did a great job. "fixit" is great (can suggest a fix and take care of it for you), error handling is also much smarter (the msgs actually mean something), and the static code analysis is great for looking for things like memory management problems (love the way it draws arrows around and numbers the steps taken that may cause the issue it is reporting).

BTW: Git is also supported for version control as are snapshots and the version control is really cool (time machine-like interface) and the diff engine is really good.

I think Xcode 4 is only available as a developer preview since it is still in beta but if you are a developer I suggest downloading for a try. I will coexist nicely and by default with a 3.2.x version.
post #31 of 62
Quote:
Originally Posted by 0yvind View Post

I sincerely hope Apple is not going to give away the whole website developement business to Adobe. To make a Flash site, you obviusly use Flash or the Dreamweaver/Flash combo. To make HTML, you buy Dreamweaver and install the HTML5 add-on.
As Daniel mentions: they are still in an early stage of developement. But I'll give them credit, considering there aren't any alternatives yet. And it shows they aren't trying to hinder HTML5 developent even if it means competition to their Flash universe (maybe they've seen the painting on the wall...)? My main problem with DW is the antiquated and inconsistent user interface: so back to the 90's and PageMill-like.

So here's a great opportunity for Apple to steal the limelight once again: Use whatever bits and pieces you've got in your developer's war chest (whether in XCode, iWeb, iWork) and put together a nice and simple HTML5 web editor for the rest of us. I must admit I made my first wary steps into webdesign in the early 90's with Apple's venerable (Claris) HomePage...
.

I had Home Page too! Brings back memories

Yes I agree iWeb and even and iWeb Pro with this under the hood would be cool. Throw in form and database integration as drag and drop widgets and cloud support for relational interactive push data with the pro version too!
Enjoying the new Mac Pro ... it's smokin'
Been using Apple since Apple ][ - Long on AAPL so biased
nMac Pro 6 Core, MacBookPro i7, MacBookPro i5, iPhones 5 and 5s, iPad Air, 2013 Mac mini.
Reply
Enjoying the new Mac Pro ... it's smokin'
Been using Apple since Apple ][ - Long on AAPL so biased
nMac Pro 6 Core, MacBookPro i7, MacBookPro i5, iPhones 5 and 5s, iPad Air, 2013 Mac mini.
Reply
post #32 of 62
Quote:
Originally Posted by anonymouse View Post

-2 Not insightful at all.
Since all C code is valid Objective-C code, if that code is "business logic" code, then, it would be reusable in an Objective-C project. So, what is said here is really a bit of nonsense.

You have made a leap in you logic that is not going to get you to the other side, but swept away in a river instead.

There is a huge difference between recompile-able, executable, and re-useable! Re-useable code requires a good bit of forethought and design to make it re-useable (or reworking of existing code to make it re-usable). You can have excellent code that is not easily re-useable because it was not designed to be used in a more general fashion (due to side effects, optimizations, thread safety requirements differing, etc...). Just because Objective C is a superset of C and will compile std (validated) C code does not make it re-useable.

As many of the developers here can testify re-usability (in the classic CS sense) comes at a cost. Now taking a few lines of code from here and there and pasting them in is done all the time but this hardly defines re-usability. I would venture to guess that most truly re-usable code becomes so as part of a process that is taken up after a need is identified (such as doing the same thing exactly over and over agin in your product(s) or developing a method that allows sharing of a methodology so that it need not be reloaded in all applications that need it. SDK's or Frameworks are the common container for such re-usablity on the Mac/iOS when we speak of compiled in code.

BTW: All valid C code will be valid Objective C code.
post #33 of 62
Whether it's EPUB or HTML 5.0 and whether it's Adobe, Apple or someone else, we need an application that can create attractive, complex, reflowable books that can display intelligently and well on devices with various screen sizes. The current state of the art is woefully inadequate for anything but novels with a single text flow.

And it'd help if this silly fad for interactivity and multi-media would quickly pass, so we can get down to practical matters. Where that fad comes from, I can't imagine, but it reminds me of the early days of the web, when websites were cluttered with flashing text, moving lines of ants, and head-spliting animation were common.

When people sit down to read an article or book, they don't want to be distracted by interactive rabbit trails running off in other directions, much less a lot of intrusive iAds. What we need are ebooks with at least half of the design and layout capabilities that printed books have had for centuries and PDF has had for a decade or more. That's a hundred times more important that silly addendum like dictionaries to look up the meaning of words.
post #34 of 62
Quote:
Originally Posted by Damn_Its_Hot View Post

You have made a leap in you logic that is not going to get you to the other side, but swept away in a river instead.

There is a huge difference between recompile-able, executable, and re-useable! Re-useable code requires a good bit of forethought and design to make it re-useable (or reworking of existing code to make it re-usable). You can have excellent code that is not easily re-useable because it was not designed to be used in a more general fashion (due to side effects, optimizations, thread safety requirements differing, etc...). Just because Objective C is a superset of C and will compile std (validated) C code does not make it re-useable.

...

BTW: All valid C code will be valid Objective C code.

Well, yes, I should have said "valid C code". But, if your "business logic" code is reusable with new UI code for another platform, it's very likely that it will be reusable without a complete rewrite with a Cocoa or CocoaTouch app. The OP's claim was that SJ/Apple were forcing developers to write their C code twice, which is not the case. If the C code isn't relatively reusable, then the developers forced themselves to rewrite it.
post #35 of 62
Quote:
Originally Posted by Damn_Its_Hot View Post

There is a huge difference between recompile-able, executable, and re-useable! Re-useable code requires a good bit of forethought and design to make it re-useable (or reworking of existing code to make it re-usable). You can have excellent code that is not easily re-useable because it was not designed to be used in a more general fashion (due to side effects, optimizations, thread safety requirements differing, etc...). Just because Objective C is a superset of C and will compile std (validated) C code does not make it re-useable.

The whole reason Objective-C even exists is to allow Apple to control the direction of a programming language. Let me elaborate. If Adobe or Microsoft instead controlled the language specification, then Apple would be at the mercy of those companies to be able to include new features or APIs because those languages wouldn't support them and therefore developers wouldn't be able to write those features or APIs. Now, suppose in this made-up situation, Objective-C 2.0 (as it is in its current form) suddenly appears out of Apple. Now, Apple has the ability to control what the language supports, what APIs it has, can do greater optimization for the platform (i.e. greater performance), and just better integration because there's a focus on doing a single platform well, instead of doing good (usually just okay performance) on a bunch of platforms. While cross-platform makes it technically easier for the programmer, that's not in Apple's interest because being cross-platform means that it doesn't support the latest and greatest from Apple. There's a inherent lag time in cross platform languages coming up to the API and feature parity with native languages (simply because they're third party). But Apple decided it wanted to remove that lag time so people could use its features and APIs when they released it, not 3 months later.
post #36 of 62
I'm pretty sure the article was basically saying - Apple did an awesome job with Xcode, so they could take a lot of the work they did on Xcode and BUILD a web development app. The article wasn't saying that Xcode is going to be come an app to write HTML. Earlier comenters missed the point.

I've been thinking this for a while, ever since I saw Dashcode and iWeb was released. Most all of Apple's iLife apps have Pro app equivalents (iMovie - Final Cut Pro, iDVD - DVD Studio Pro, GarageBand - Logic) and of course the Express versions of those programs too. iWeb is the only one that doesn't.

Apple could build a professional version of iWeb, with an interface similar to Xcode. EVEN BETTER would be if they integrated the UI they have for Motion to make it easy to create HTML 5 animation (instead of Flash, since Motion is similar to Flash in a way). Imagine that.... a full HTML5 development suite that allows you to write code, create animation, compress videos (using QuickTime) in the proper format for HTML5 browsers, etc. Apple has all the necessary tools and software and codecs. They just need to bring it all together. Apple could be THE platform for web development if they did this. I really hope they do soon.


(Oh, and I agree that whoever said "I take it it's too difficult to download Xcode yourself" was really REALLY rude. I hate people that comment like that.... usually you only see it in threads about Linux, when someone says something like "Is there a version of AIM for Fedora?" and the only replies are "AIM is gay. Use Gaim" and no one actually answers the question. Maybe the user has Windows and was just curious about Xcode? You never know. Just be nice.)
Steve Kudelko
smkudelko@mac.com
http://smkudelko.tumblr.com - Tumblr
http://cyber-cancer.com - Tech Blog (in progress)
Reply
Steve Kudelko
smkudelko@mac.com
http://smkudelko.tumblr.com - Tumblr
http://cyber-cancer.com - Tech Blog (in progress)
Reply
post #37 of 62
Quote:
Originally Posted by smkudelko View Post

I'm pretty sure the article was basically saying - Apple did an awesome job with Xcode, so they could take a lot of the work they did on Xcode and BUILD a web development app. The article wasn't saying that Xcode is going to be come an app to write HTML. Earlier comenters missed the point. ...

Yes, I think it's pretty obviously the point given the other examples of Apple software cited and the context of those citations.
post #38 of 62
Quote:
Originally Posted by smkudelko View Post

I'm pretty sure the article was basically saying - Apple did an awesome job with Xcode, so they could take a lot of the work they did on Xcode and BUILD a web development app. The article wasn't saying that Xcode is going to be come an app to write HTML. Earlier comenters missed the point.

I think you have it right. Basically, I believe Apple has paid attention to modularization, where you can add templates, i.e., build the web development app.

Nullis in verba -- "on the word of no one"

 

 

 

Reply

Nullis in verba -- "on the word of no one"

 

 

 

Reply
post #39 of 62
Quote:
Originally Posted by bartfat View Post

The whole reason Objective-C even exists is to allow Apple to control the direction of a programming language. Let me elaborate. If Adobe or Microsoft instead controlled the language specification, then Apple would be at the mercy of those companies to be able to include new features or APIs because those languages wouldn't support them and therefore developers wouldn't be able to write those features or APIs. Now, suppose in this made-up situation, Objective-C 2.0 (as it is in its current form) suddenly appears out of Apple. Now, Apple has the ability to control what the language supports, what APIs it has, can do greater optimization for the platform (i.e. greater performance), and just better integration because there's a focus on doing a single platform well, instead of doing good (usually just okay performance) on a bunch of platforms. While cross-platform makes it technically easier for the programmer, that's not in Apple's interest because being cross-platform means that it doesn't support the latest and greatest from Apple. There's a inherent lag time in cross platform languages coming up to the API and feature parity with native languages (simply because they're third party). But Apple decided it wanted to remove that lag time so people could use its features and APIs when they released it, not 3 months later.

The reason Objective C exists is because of Brian Cox who wanted to combine the best of Smalltalk with that of C and NeXT saw the power of this along-side their Mach Microkernel and the BSD filesystem with UFS as the base file system back in 1989.

Java was Sun's answer to a failed Openstep joint initiative between NeXT and Sun in which they hired several Objective-C engineers who were in transition from NeXT to make their own as a best of Objective-C, better C++ and include hooks to C.

The reason Objective-C is so useful, besides it's design is the set of Frameworks that have > 20 years of maturation and foresight into their design and implementation.

You are correct that re-use requires a lot of experience and foresight. Apple leaves the edge cases for your application needs and in that sense, the design foresight of your edge cases up to you, the developer.

Objective-C 2.0 added some highly demanded features which with the mature frameworks makes a lot of your investment returned back to you, but not without a solid foundation in the language and Cocoa frameworks.

The same goes for C++ or C# and their direction of frameworks.

Ironically, both C++ frameworks ala Qt and C# whether its Mono or Microsoft itself borrow a lot of their design patterns and the now common MVC paradigm from Apple, who back as NeXT was a rogue in the industry when Eiffel, C++/CORBA and C++/MFC were direct competitors.
post #40 of 62
Quote:
Originally Posted by lowededwookie View Post

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.

The place for Developing dynamic web applications was the original Cocoa/Objective-C WebObjects before they ruined it with Java.

They could have reinvented the WOBuilder with up-to-date EOF bindings for MySQL, Oracle latest, PostgreSQL, Sybase, Informix/DB2, MSSQL and more while bringing back a fully reborn and restored Objective-C backend and WebScript [Objective-C scripting language] that includes native support for MacRuby, PHP and of course Objective-J and Sproutcore, if they wanted to go in that direction.

With a well thought out chain of development the hooks into a platform agnostic run-time on Apache2 ala mod_apple_objc runtime for HTML5 rich applications with hooks into Apple's major back-end technologies but that would divest a lot of resources away from Native Cocoa/Cocoa Touch development and for what?

Where is the major ROI for this kind of engineering resource allocation?
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Mac Software
AppleInsider › Forums › Software › Mac Software › Apple's new Xcode 4 could portend new HTML5 development tools