sproutcore / website

The website source. Build and push to https://github.com/sproutcore/sproutcore.github.com.
http://www.sproutcore.com
9 stars 9 forks source link

"About SproutCore" copy is explaining RIAs to 2007. #12

Closed dcporter closed 10 years ago

dcporter commented 10 years ago

We should probably update with a meaningful discussion of when you choose SproutCore over other options.

dcporter commented 10 years ago

This is my #action this week. Here's the page that needs modernizing. Here's Maurit's stab at explaining SC some time ago.

dcporter commented 10 years ago

WORKING DRAFT.

SproutCore: A Native Experience on the Web.

SproutCore is the original JavaScript MVC library, kicking off the JS-MVC movement in 2007. Developed by Apple and maintained by a robust and growing community, it continues to power the web application revolution. More than a plugin, it builds on top of JavaScript to provide an application-style runtime and MVC object model inspired by the best ideas from Cocoa.

With dozens of core and third-party frameworks delivering native-caliber features, SproutCore remains the best choice for a full-stack, native-quality experience on the web.

A Full Stack. For Free.

SproutCore delivers sophisticated features for sophisticated applications, including:

These features, and many more, combine to provide your application with a rock-solid foundation for building incredibly sophisticated apps. Statecharts organize your app’s code, setting you up for worry-free future changes. Big lists display big data, loaded lazily or queried dynamically through your data store. And the view layer provides all the tools you need to build responsive, intuitive, native-style interfaces.

Your team gets all this for free. You benefit from event delegation, progressive rendering and efficient, searchable data storage, without having to invest in implementing them. And with its permissive MIT license, SproutCore is free as in speech too.

No Compromises: When To Choose SproutCore. (And When To Not.)

SproutCore is not for drop-in widgets, and it’s not for fancy web pages. SproutCore is for building feature-packed, high-performance applications... that happen to run in the browser.

The web was not originally built for applications: Its technology stack was designed for – and remains steeped in – a linked-static-document use case. Think blogs, newspapers, and marketing or informational sites like this one. Most JS-MVC frameworks represent varying degrees of compromise between the needs of an application, and the web’s history of document-focused best practices and talent base.

SproutCore doesn’t compromise. It ditches the document-focused cruft, replacing it with decades of well-established best practices from the application development space instead. SproutCore reimagines web development from the perspective of the application.

For many projects, compromise is exactly what you’re looking for. If your web development team wants to add a little data-heavy widget to an existing page, AngularJS is a great option. For a fancier, more dynamic app-like web page, you might want something like Ember.

But if you want to deliver a cross-platform, desktop-level productivity experience like Apple’s iCloud.com, or a data-heavy marketing service like Oracle’s Eloqua, or rich, interactive dashboards and internal business applications like dozens of other companies; if your project is a no-compromise, feature-packed application, then you want to build with SproutCore.

It gives you the tools you need to build rock-solid, long-lived, single-page applications with features like fast, dynamic queries and infinitely-scrolling lists that your users expect from an app. SproutCore isn’t for blogs, and it isn't for fancying up your company's brand site. It's for applications... which happen to run in the browser.

Organized for Developers. Optimized for Hosting.

With any large codebase, the best practices for organizing readable, maintainable code are very different than the best practices for optimized serving. SproutCore optimizes fully for both cases, bridging the gap with the included set of build tools. You can organize your source code any way you like, for example with your model classes and your view classes living in small, readable files in separate folders. There’s even built-in support for shareable frameworks and lazy-loading modules.

When it’s time to deploy your application, combining, minifying, auto-spriting and optimizing it is as easy as sc-build myapp. Like a native executable, SproutCore builds your application’s code into a small number of static files, suitable for hosting anywhere, and compatible with back end data APIs built on any server-side technology. It wraps them in a build-numbered, highly cacheable folder for incredible load speed.

Great Power. Great Community.

No framework is complete without a vibrant community of passionate developers eager to help. The mailing list is an active question-and-answer center, and core team members are active on the IRC channel nearly 24/7. And our strong developer base can provide any consulting, mentoring, or development services that your team needs.

The Bottom Line.

If you're looking to build the next generation of native-caliber applications for the web, SproutCore is not only the best, it's alone in its class. Download SproutCore today and start developing the best web applications on the planet.

topherfangio commented 10 years ago

LOVE the first draft!

Do you already have any pictures in mind that we could use or should we do some brainstorming? Depending on how things go the next few days/weeks, I may be able to hire a graphic designer to come up with some stuff if we need.

dcporter commented 10 years ago

No images in mind, that's a great point. I'll think about them, and any GD input would be tremendous.

dcporter commented 10 years ago

Alright I'm comfortable with this as is, take it away Topher. As for images, I have no idea; obviously the SC logo could do, and the "way of the future" image from the current about page isn't too bad either. I don't have an eye for this stuff, so I instinctually prefer austere.

mauritslamers commented 10 years ago

Perhaps as an idea for images: show a "typical" web app you would do with SC, and one you wouldn't use SC for... (blog?). If that wouldn't work, we could also have a kind of check list where people can get a better idea in which case you should or shouldn't choose SC.

Edit: clarify

topherfangio commented 10 years ago

Hey guys, here's my go at a small update. Here's an overview of changes:

  1. Removed punctuation from headers (this follows the practice on other pages including the guides)
  2. Modified some punctuation to use semi-colons instead of commas (some sentences had a lot...)
  3. Added a Community section at the end
  4. Added a Bottom Line section at the end with a call-to-action

Once the copy is finalized, I'd also like to go through and add some links where appropriate (like our Google Group, IRC channel, other frameworks/pages, etc).

Let me know what you think!

Also: RE: Images - I definitely like both of those options; I'm not much of a graphic guru, but could probably give it a go if you wanted.

SproutCore: A Native Experience on the Web

SproutCore is the original JavaScript MVC library, kicking off the JS-MVC movement in 2007. Developed by Apple and maintained by a robust and growing community, it continues to power the web application revolution. More than a plugin, it builds on top of JavaScript to provide an application-style runtime and MVC object model inspired by the best ideas from Cocoa.

With dozens of core and third-party frameworks delivering native-caliber features, SproutCore remains the best choice for a full-stack, native-quality experience on the web.

A Full Stack, For Free

SproutCore delivers sophisticated features for sophisticated applications, including:

These features, and many more, combine to provide your application with a rock-solid foundation for building incredibly sophisticated apps. Statecharts organize your app’s code, setting you up for worry-free future changes. Big lists display big data, loaded lazily or queried dynamically through your data store. And the view layer provides all the tools you need to build responsive, intuitive, native-style interfaces.

And your team gets all this for free!

You benefit from event delegation; progressive rendering and efficient, searchable data storage; without having to invest in implementing it. And with its permissive MIT license, SproutCore is free as in speech too.

No Compromises: When To Choose SproutCore (And When To Not)

SproutCore is not for drop-in widgets, and it’s not for fancy web pages. SproutCore is for building feature-packed, high-performance applications... that happen to run in the browser.

The web was not originally built for applications: it's technology stack was designed for (and remains steeped in) a linked, static-document use case. Think blogs, newspapers, and marketing or informational sites like this one. Most JS-MVC frameworks represent varying degrees of compromise between the needs of an application and the web’s history of document-focused best practices and talent base.

_SproutCore doesn’t compromise._

It ditches the typical document-focused cruft, replacing it with decades of well-established best practices from the application development space instead. SproutCore reimagines web development from the perspective of the application.

For many projects, compromise is exactly what you’re looking for. If your web development team wants to add a little data-heavy widget to an existing page, AngularJS is a great option. For a fancier, more dynamic, app-like web page, you might want something like Ember.

But if you want to build a cross-platform application like Apple’s iCloud.com, or Oracle’s Eloqua, or data-heavy dashboards and internal productivity applications like dozens of companies, then you want to build it in SproutCore. If your project is a no-compromise, feature-packed application, then SproutCore is alone in its class.

SproutCore gives you the tools you need to build rock-solid, long-lived, single-page applications with features like fast, dynamic queries and infinitely-scrolling lists that your users expect from a web app. SproutCore isn’t for blogs, and it isn't for fancying up your company's brand site. It's for applications...which happen to run in the browser.

Organized for Developers; Optimized for Hosting

With any large codebase, the best practices for organizing readable, maintainable code are very different than the best practices for optimized serving. SproutCore optimizes fully for both cases, bridging the gap with the included set of build tools. You can organize your source code any way you like; for example with your model classes and your view classes living in small, readable files in separate folders. There’s even built-in support for shareable frameworks and lazy-loading modules.

When it’s time to deploy your application; combining, minifying, auto-spriting and optimizing it is as easy as sproutcore build myapp. Like a native executable, SproutCore builds your application’s code into a small number of static files, suitable for hosting anywhere, and compatible with back end data APIs built on any server-side technology, and it wraps them in a build-numbered, highly cacheable folder for incredible load speed.

Community

SproutCore isn't just a set of tools, but a cohesive framework for building applications, and no framework is complete without a vibrant community of passionate developers that love to help one another.

The SproutCore Google Group is extremely active with developers asking questions and helping one another on a daily basis. Our IRC channel (#sprotucore) always has members online to answer questions or provide guidance. And if you have a truly difficult or nasty issue, many companies even provide SproutCore mentoring.

All of these work together to ensure that you spend your time developing rich, intuitive applications, instead of jumping through hoops to learn the basics.

Bottom Line

If you're looking to build the next generation of native-like applications for the web; SproutCore is an excellent tool to add to your arsenal.

Download SproutCore today and start developing the best web applications in the world.

dcporter commented 10 years ago

Updated with your changes, added some links, et cetera. Good call on the occasional boldness. Nobody uses sproutcore build. =)

I think we're at a good spot, and I'd like to publish this ASAP, even without images. We can tweak and add images later. I'll get it into the repo today or tomorrow if I have time.

topherfangio commented 10 years ago

Sounds great!

P.S. I use "sproutcore build" so apparently I'm behind the times; however, the guides also use the full sproutcore commands instead of the shorter sc- binaries, so I was sticking with what the other pieces of the site said :-)

Topher Fangio

Director of Software Development Pharos Resources

office: 325.216.2908 mobile: 325.660.7141

On Tue, Mar 25, 2014 at 11:12 AM, Dave Porter notifications@github.comwrote:

Updated with your changes, added some links, et cetera. Good call on the occasional boldness. Nobody uses sproutcore build. =)

I think we're at a good spot, and I'd like to publish this ASAP, even without images. We can tweak and add images later. I'll get it into the repo today or tomorrow if I have time.

Reply to this email directly or view it on GitHubhttps://github.com/sproutcore/website/issues/12#issuecomment-38584910 .

dcporter commented 10 years ago

=) Just giving you a hard time. I disagree with the guides – it would be nice to show people the shorter version – but I guess it really doesn't matter.

I've moved this into the master branch; could you push it to the server as soon as you have a minute?