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 - Page 2

post #41 of 62
Quote:
Originally Posted by mdriftmeyer View Post

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

Yeah, I never really understood why they did that.
post #42 of 62
Sounds like the perfect technology to rebuild WebObjects around actually. There really needs to be a visual editor to allow for that to be a killer tool for everyone and I wouldn't want to see Xcode bogged down with that. Apple already has a pretty deep bag of expertise in graphic manipulation, with their film/video/photo/color grading-timing tools so they could definitely guild a graphical UI to work in concert with other 3rd party graphic tools to build well designed HTML5 websites.

Apple could also go out and acquire a company like Unity3D, the major game development toolset for the Mac. Unity was built around the idea of deploying games to the net first, so they have a lot of expertise/technology to support deploying interactive applications online. The largest hurdle Apple would face with that would be transitioning the technology from being solely plug-in based to something that would execute plug-in free HTML5 code straight to a browser.
post #43 of 62
Quote:
Originally Posted by esummers View Post

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.

They didn't port cocoa to java, they bridged it so you could call use the objective-c cocoa classes from java.
post #44 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.

you can use xcode to build web sites that run on mac os x server, which can be based on PHP. I use XCode to edit the php for our site - http://www.inktastic.com/ - and would like to have XCode at least be aware of PHP so I can get syntax highlighting, symbol searching, etc, in my PHP code.
post #45 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.

how so? You can use Objective-C++ to mix and match Objective-C and C++ code. Build the business logic in C++ which is cross platform, build the UI code in Objective C along with some bridge classes to make your C++ classes accessible to your UI classes. This is what I do for all of my Mac apps.
post #46 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.

No, the whole reason Objective-C exists is that it's better for building the sort of reusable objects that are in Cocoa than C++. The difference in the languages is why Pink failed, Taligent failed, and NeXTStep was brought in to save the day (and the company)
post #47 of 62
Quote:
Originally Posted by anonymouse View Post

Yeah, I never really understood why they did that.

they did that so they could deploy it on more kinds of servers. THey also did it before Apple bought NeXT and their were Cocoa based XServes to deploy on.
post #48 of 62
I think this will be the "mystery" extra app in iLife 11. It will be complementary to iWeb.
post #49 of 62
Quote:
Originally Posted by alandail View Post

they did that so they could deploy it on more kinds of servers. THey also did it before Apple bought NeXT and their were Cocoa based XServes to deploy on.

If memory serves, and I think it does, WebObjects wasn't converted to Java till some time after Apple bought NeXT (although, the work may have been done but not released prior to that, but I'm certain that the Initial release of Mac OS X Server included an Objective-C WebObjects, but maybe it was both), but it may have been before the Xserve, and so they could deploy on more server types sounds plausible. Oh well, I guess that didn't work out like they planned.
post #50 of 62
Quote:
Originally Posted by alandail View Post

you can use xcode to build web sites that run on mac os x server, which can be based on PHP. I use XCode to edit the php for our site - http://www.inktastic.com/ - and would like to have XCode at least be aware of PHP so I can get syntax highlighting, symbol searching, etc, in my PHP code.

Yeah, I use Eclipse (which is OK, but I don't love it) for PHP (and Perl, and Javascript, and some other things), as well as a few standalone editors, but typically these projects are unrelated to the Objective-C programming I do. I guess it would be better to be able to use a single IDE, but I suppose it's better for them to focus their efforts on making it work better for Objective-C programming than to get distracted by peripheral uses.

However, if they built a web development IDE using Xcode as a starting point, it should definitely support web languages like PHP.
post #51 of 62
Quote:
Originally Posted by anonymouse View Post

If memory serves, and I think it does, WebObjects wasn't converted to Java till some time after Apple bought NeXT (although, the work may have been done but not released prior to that, but I'm certain that the Initial release of Mac OS X Server included an Objective-C WebObjects, but maybe it was both), but it may have been before the Xserve, and so they could deploy on more server types sounds plausible. Oh well, I guess that didn't work out like they planned.

Seeing as I worked at NeXT and Apple the move to Java was nearly two years after the merger. Objective-C ended with WebObjects 4.5. WOF 5.0 was the rewrite in Java and rapidly the product stalled.
post #52 of 62
Quote:
Originally Posted by alandail View Post

they did that so they could deploy it on more kinds of servers. THey also did it before Apple bought NeXT and their were Cocoa based XServes to deploy on.

We deployed on Windows NT, Solaris, Openstep for SPARC, Openstep for Mach, HP-UX and even on custom servers for large clients like Merrill Lynch, IBM, Swiss Banc, US Postal and more.

We used a modified Apache server with the NeXT runtime. Yes up until 4.5 Web Objects and EOF 3.0 even ran on OS X Server 1.2.

At any rate, with Apple's investment in Ruby and Python, I would expect their inherent interoperability with Objective-C to be ideal languages to add to some future Web Developer Environment.
post #53 of 62
Quote:
Originally Posted by alandail View Post

how so? You can use Objective-C++ to mix and match Objective-C and C++ code. Build the business logic in C++ which is cross platform, build the UI code in Objective C along with some bridge classes to make your C++ classes accessible to your UI classes. This is what I do for all of my Mac apps.

You could have written some business logic in C# that is used to power part of a Website, Silverlight app and Windows app. From what I understand there are tools around that will let you compile that down to be used in an iPhone app, but now Apple say you have to use Xcode and therefore that is not allowed.


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.

True they can't control the other languages and there will be a lag between them updating what the iPhone can do and what the other languages are able to use from that. But if you don't wan't or need to use those features there's no difference in what you've used. The developer always has the option of switching in the future if there unhappy. New features in an iPhone aren't going to appear in current apps until the developer updates it anyway. There's also the reverse effect that an alternative language can add to the framework and get things into apps before apple write them.
post #54 of 62
Quote:
Originally Posted by Cubert View Post

I think this will be the "mystery" extra app in iLife 11. It will be complementary to iWeb.

It's doubtful. While they might make improvements to iWeb with this technology, iWeb is a program so that any computer user that's familiar with iPhoto/iMovie can build a website. My mom uses it to manage her website. She knows nothing about computers, and she'd swallow a bottle of painkillers if I told her she had to use Dreamweaver.

What I think Apple will do is expand iWeb into a pro app offering, similar to Final Cut Pro (its iLife equivalent is iMovie) or Aperture (its iLife equivalent is iPhoto). Apple usually has a pro app equivalent to all the iLife apps, and iWeb is the only one that doesn't (aside from iTunes, which really doesn't call for one... I guess Logic's MainStage could be the pro equivalent of iTunes).

If Apple launches a pro web design app that has the ease of use of iWeb & Xcode, and the HTML5 animation equivalent to Motion, they'd kill. They'd dominate the market. Seriously, I bet a few web developers would buy a Mac just to have this software (if they didn't already). Even though most developers code in HTML and CSS, they still use a software program to do it, and there are very very few great web development apps (even though there are hundreds of thousands.... they're either proprietary or sucky).

I really hope they do this. I can't wait. I'm so tired of Dreamweaver, and really don't know Flash that well.
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 #55 of 62
Quote:
Originally Posted by timgriff84 View Post

You could have written some business logic in C# that is used to power part of a Website, Silverlight app and Windows app. From what I understand there are tools around that will let you compile that down to be used in an iPhone app, but now Apple say you have to use Xcode and therefore that is not allowed. ...

So, you're basically complaining that, since Microsoft locked you into its language and development tools, Apple is the bad guy for not supporting them. The only reason C# even exists is to lock people into Windows development, and to undermine Java.
post #56 of 62
I thought Objective-C was great when I first learned it. It added just the right amount of dynamism so that OO could really shine, something that C++ (my first OO language) was missing. However when 2.0 came out it lost a lot of it's distinctiveness/personality.

They probably thought they were adding great technical features to the language, but the "culture" of a platform is just as important (probably more) to achieving great products. So technical improvements that might damage the culture should not be rolled out. Garbage collection said "our culture is no longer efficiency focussed" and dot notation said "our culture wants to be the same as everybody else."

This culture stuff is not just pie in the sky, it is what distinguishes an Apple from a Dell. And culture changes always have their biggest impact where they start, and then fan out. For example Xcode 4 is the worst performing Apple app I have ever seen, but soon it will spread.

And putting a meme out there that you don't want to be different, in an engineering company, is deadly. Engineering is about improving things, which means changing things, which means undermining what is already out there, which means a culture of subversion (e.g. Steve Jobs and his pirate flag). And there's nothing subversive about changing your language syntax to be the same as everybody else.

The Xcode team needs to be disbanded before they destroy Apple, and Objective C 2.0 needs to be rolled back.
post #57 of 62
Quote:
Originally Posted by ascii View Post

I thought Objective-C was great when I first learned it. It added just the right amount of dynamism so that OO could really shine, something that C++ (my first OO language) was missing. However when 2.0 came out it lost a lot of it's distinctiveness/personality.

They probably thought they were adding great technical features to the language, but the "culture" of a platform is just as important (probably more) to achieving great products. So technical improvements that might damage the culture should not be rolled out. Garbage collection said "our culture is no longer efficiency focussed" and dot notation said "our culture wants to be the same as everybody else."

This culture stuff is not just pie in the sky, it is what distinguishes an Apple from a Dell. And culture changes always have their biggest impact where they start, and then fan out. For example Xcode 4 is the worst performing Apple app I have ever seen, but soon it will spread.

And putting a meme out there that you don't want to be different, in an engineering company, is deadly. Engineering is about improving things, which means changing things, which means undermining what is already out there, which means a culture of subversion (e.g. Steve Jobs and his pirate flag). And there's nothing subversive about changing your language syntax to be the same as everybody else.

The Xcode team needs to be disbanded before they destroy Apple, and Objective C 2.0 needs to be rolled back.

What are you going on about? Obj-C 2.0 is a welcome advancement to a language that is quite old. Fast enumeration and non-fragile instance variables were sorely needed. Nothing wrong with either of these. GC is optional and opt-in, and can actually increase performance over manual memory management in some instances. Again nothing wrong with this.

The only point of contention is the dot syntax. However the amount of time they save not having to write accessors, and the errors they prevent by reducing the amount boiler plate code is a good thing.

There are really good reasons for all the advances put into Obj-C 2.0. If there are language advancements that can reduce bugs, increase performance, and make the language more enjoyable to use, then you'd have to be quite nuts to think those are bad things.

PS

I hate to tell you, but Xcode 3 was written entirely in Obj-C 2.0 with GC.
"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 #58 of 62
Quote:
Originally Posted by Mr Beardsley View Post

There are really good reasons for all the advances put into Obj-C 2.0. If there are language advancements that can reduce bugs, increase performance, and make the language more enjoyable to use, then you'd have to be quite nuts to think those are bad things.

You're looking at is purely from a technical perspective. I'm saying: something that is a technical positive can simultaneously be a cultural negative, and it is culture that determines the success of a company more fundamentally than technology.
post #59 of 62
Quote:
Originally Posted by ascii View Post

You're looking at is purely from a technical perspective. I'm saying: something that is a technical positive can simultaneously be a cultural negative, and it is culture that determines the success of a company more fundamentally than technology.

Put down the pipe and back away. We are talking about a programming language not some world revolution.

Quote:
Originally Posted by ascii

And putting a meme out there that you don't want to be different, in an engineering company, is deadly. Engineering is about improving things, which means changing things, which means undermining what is already out there, which means a culture of subversion (e.g. Steve Jobs and his pirate flag). And there's nothing subversive about changing your language syntax to be the same as everybody else.

So Apple should only add improvements to their tools if they are different from everyone else? That is totally absurd. Engineering is about making the best product you can, and deciding which are the best tradeoffs to make when constructing your product. It has nothing to do with subversion, undermining, or anything of the like.

Further I think you'd be very hard pressed to show any harm that adding properties or GC to Objective-C has done. Can you show me all these people that hate having added tools in their box with which to solve problems? I certainly haven't seen any signs that developers hate the new additions. Quite the opposite, I think most developers are very happy to have things like blocks, automatically synthesized accessors, GC, and fast enumeration.
"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 #60 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).

And Apple never "dumped" WebObjects. WebObjects is alive and well, and every dollar Apple makes goes through WebObjects.

All Apple did was deprecate the tools, because Java/WO did not fit in particularly well with Xcode and was buggy. Thus, everyone doing WO was (and is) using Eclipse and the WebObjects plugin for it (WOLips)

The Apple Store, iTunes and the App Store are all WebObjects.
post #61 of 62
its good post about "Apple's new Xcode 4 could portend new HTML5 development tools ", thanks for sharing , its nice post



international calling cards india
post #62 of 62
It;s good post about " HTML5 development tools ",Thank you for these useful thoughts





order food online mumbai India
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