
As we approach the three year anniversary of the initial release of Ext, the Ext Team is proud to announce the immediate availability of
Ext Core 3.0 beta for
download. Ext Core provides a cross-browser consistent API for performing the most common tasks in JavaScript development for web pages. Ext Core is released under a permissive MIT license - there is no cost to use Ext Core - it's free for everyone.
Drawing upon our experience creating rich user interfaces, we isolated the most powerful features used to enhance new or existing web pages. Ext Core is a subset of the upcoming Ext JS 3.0 release optimized for speed & file size. Developers familiar with Ext JS can leverage their existing skillset to provide an enhanced user experience to their web pages.
Ext Core Overview
Ext Core distinguishes itself from other JavaScript libraries with a well defined object-oriented structure, which enables you to write clean and reusable code. Ext Core provides cross-browser abstractions for:
- DOM manipulation and traversal
- CSS management
- Event handling
- Dimensions and Sizing
- AJAX and JSON Support
- Animations
In addition to providing cross-browser abstractions for the DOM, Ext Core also includes some of the most used and popular utilities from Ext JS.
- Classical Inheritance Class System
- Observable Class
- Markup generation and Templating
- Timed code execution
- URL encoding and decoding
Library Size
Ext Core is perfect for inclusion in a dynamic web page or even a small application. We have gone through the source with a round of refactoring aiming to get the best possible compression. Considering all of the included features, Ext Core has a small footprint. It has a compressed footprint of 25K minified and gzipped.
Ext Core Manual
Another aspect of Ext Core that sets itself apart from other libraries is the Ext Core Manual. Written by the authors of Ext Core, and reviewed by the community Ext-perts, the
Ext Core Manual provides beginners and experienced developers an in-depth view of how to use every aspect in Ext Core. No method or class has gone uncovered. This mini-book (75 pages printed) is meant to amplify the existing
API documentation. We encourage everyone, including Ext JS users, to read the manual to sharpen their understanding of Javascript and Ext.
Examples using Ext Core
To illustrate the capabilities of Ext Core, our team built a few of the most commonly used extensions on the web. They also serve as a great reference for creating your own extensions. Given the small footprint of Ext Core, we were able to embed the Example Explorer into this blog post. These examples are freely available to be used on your web pages today.
Wether you are new to or an experienced user of Ext, the manual is an extensive resource
in which everyone will be able to find and learn something new.
The manual itself is a great example of how you can leverage
Ext Core to spice up your website with a minimal amount of elegant and readable code.
Read Manual
The Carousel example provides a widget for browsing a set of objects. It can be configured to meet any of your specific
requirements - auto-play, animations, custom navigation dynamic content and more.
View Example
The Lightbox example provides a widget used to overlay images on the current page. It's simple to set up by registering
a CSS selector. When you register a group of images
you can browse through them within the Lightbox.
View Example
The Menu example provides a widget that converts an existing list of links on the page to either a horizontal or vertical menu.
There are many ways in which you can configure the menu, including different types of animations, setting the
active item, delays and listening to several useful events.
View Example
The JSONP example shows how you can fetch JSON data from a different domain. It includes a class you can use to connect
to any possible web service that supports the JSON format. In this example we use the Flickr API to fetch the latest
photos for any keyword.
View Example
The Simple Tabs example shows how you can create powerful navigation with only a few lines of code using Ext Core. By
making smart use of event delegation, it is easy to add additional tabe or remove existing ones.
View Example
The Combination example shows how you can combine several of the powerful widgets used in the other examples.
It has a menu to navigate several categories of photos and uses the JSONP class to retrieve them from Flickr.
It then puts them in a carousel. By clicking on an image inside the carousel you can see a bigger sized version
of the photo in the Lightbox.
View Example
DomQuery and CompositeElementLite
DomQuery provides high performance selector-based element retrieval. It supports most of the CSS3 selectors specification, along with a few custom selectors and basic XPath. A common use case when working with the DOM is manipulating a collection of elements. Using an instance of CompositeElementLite, Ext Core allows you to interact with a collection the same way you would with a single element. Here is an example of adding a class to a collection of elements.
// selects a collection of elements and adds the class 'myCls' to each one.
Ext.select('div:has(> span.someClass)').addClass('myCls');
Event handling made easy
Ext Core's event handling abstraction gives you cross-browser normalized event handling and support for custom events. On top of that, it provides configuration options for delaying, buffering, delegating, and targeting events. In the example below, we update an element to indicate a click event occurred.
Ext.fly('elId').on('click', function(e, t){
// e is normalized cross browser event object
// t is the target element
// Update contents of the element with id "log" to notify the user of the event firing
Ext.fly('log').update('You clicked on the element with id: ' + t.id);
});
Ajax Requests
Ext Core has a clean cross-browser abstraction for making XMLHttpRequests. It gives you an intuitive API to retrieve and send data to the server without requiring the page to refresh. Take a look at a basic Ajax request using Ext Core :
Ext.Ajax.request({
url: 'serverSide.php',
success : function(r){
// using the built-in Ext JSON support
var data = Ext.decode(r.responseText);
// data is now a regular Javascript object
console.log(data.items[0].title);
}
});
If all you need to do though is update the contents of an element you can use the shorthand version:
Ext.fly('elId').load({
url: 'serverSide.php'
});
Some final words
With 70,000+ registered members on the
Community Forums and a company dedicated to making Ext "
a foundation you can build on", we hope that this core library will find its way into many of your dynamic web pages and make your lives as web developers easier and more enjoyable. We had a lot of fun putting Ext Core and the examples together, and we are looking forward to seeing the great things you will create using it.
Awesome. Great job guys!
Yea – how sweet it is. Thanks ExtJS – you show again why you are tops.
happy day!
Great job guys. Look forward to updating our core code.
Congratulations – it looks fantastic and the choice of licensing is sure to bring more developers to the full Ext library.
First off…looks great and can’t wait to play with it.
You decided to get rid of the Date.format function eh? I found that pretty useful..
Finally! Now we may start te major migration of TargetProcess user interface to ExtJS ;)
Congratulations! Looking forward to updating our core code
Great work .. as usual!
Great Lib, your framework is #1.
I look forward to Ext JS 3.0
Great move! It can now be used as a great add on on top of jQuery and other libraries.
Congratulations
Well done!
Great news, it became almost unbearable to wait for your new stuff!
Keep em comin!
Great job again Jack. Congratulations.
I wonder, if I don’t provide an image source for “Simple Tabs” or “Carousel” will the library load the images from extjs server or does it leave them blank?
I mean is it required to include all images with the library?
Congratulations on this release I look forward to trying out your new features!
http://www.garyrgilbert.com/blog/index.cfm/2009/4/4/EXTCore-3-Beta–Available
Excellent as always – really chuffed about the refactoring
Great Core API. Well thouhgt of. Licensing is great and should be interesting for even more developers to jump in, learn and implement it. I started with extjs early 2007 and it’s been fun all the way. Great, Jack & Co!
Can’t wait for the official 3.0 Release of the complete framework.
终于等到了哈哈
We just translated this big news in zh-CN. Cheers up!
为庆祝Ext发布了三周年,我们立即释出Ext Core 3.0给大家下载,——“共襄盛事”。所谓ExtCore,那就是提供了一系列针对Web页面日常开发使用的这一个API,ExtCore采用MIT的许可,——该许可,,没啥大问题,直接用就是了。
http://jstang.cn/viewthread.php?tid=2232
Fantastic! Great job, guys.
This is perfect timing. I was just looking for a lightweight carousel + lightbox for my web page. I love it. Ext Core is a beautiful implementation – another masterpiece from Ext. Congratulations, you guys deserve it!
Nice… this will greatly reduce the code I currently use and help me standardize on Ext! Can’t wait to see what else is coming down the pipe!
早上登陆网站就发现了这个惊人的消息,祝贺一下,看来普通web页面上使用EXT也可以涉及了。
Congrats to the whole team! you guys are awesome.
哈哈,太帅了。。
Thank you! Congrats!
How do I have to percieve the Core? Are the layout manager, tree, etc. not part of this?
Thanks!
Yeah baby!
Is drag & drop planned to support in Ext 3.0 core?
Awesome! Fantastic work Tommy. Clean and elegant examples – love it!
come on !!! extjs go, go ,go
很好的消息!支持EXT!
太好了,以后可以不用JQUERY,而直接使用EXT!
Great!
While reading the docs I found a small typo in the Ext Core Manual-Element-Manipulation
Current:
And finally lets look at ‘afterEnd’.
Ext.fly(‘elId’).insertHtml(‘beforeEnd’, ‘Hi’)
Should be:
And finally lets look at ‘afterEnd’.
Ext.fly(‘elId’).insertHtml(‘afterEnd’, ‘Hi’)
Cheers
Thomas
it’s beautiful!
This is a great news.
But I was expecting to see the XTemplate class into the core library though…
The look is great. How about implementing that them for ExtJS and ExtGWT. This would make apps look more non-app like? How easy would it be to do?
Good job though :)
呵呵,Ext一统web,整合了jquery
Congrats!!!
This is a big milestone for Ext and I am personally very excited.
Having a powerful core library that is fast, small sized (KB), and backed by a commercial company that is 100% committed (and focused) on the development of a solid JavaScript library is very comforting.
Even beyond the success of Ext Core, is that once I graduate past a simple website, I know that ExtJS is waiting for me. No longer do I have to worry about some small 3rd party *jQuery* plug-in to do something my clients require. Gone is the worry that they will update and develop for years their ‘project’ plugin.
Now I can give my customers the confidence that what they have is solid, reliable, and extensive framework for… what’s the tag line… “A Foundation You Can Build On”. Which is exactly true, our applications sit right on top and use all of the great Data Grids, Border Layouts, Ajax, and so on.
So here is +1 Thumbs Up on a great tool and thank you Ext for giving us the tools to succeed on our web based applications… (and now front-end websites with Ext Core ;p)
I was reading @Tal feelings and recommendations post and I could not help but to share another point(s), because I personally feel the old licensee issues are over discussed.
1.) Respect the past, but don’t live there.
To most developers I say, “Quit complaining and get out their and DO. PRODUCE”. Think about the Time and Energy wasted trying to remind everyone of some indirect *harm* you(the complainers) experienced while a talented start-up company discovered their product positioning within a tough, over-crowded, market.
I am sure everyone of us have had growing pains in our lives… Ask yourself how would you like to be treated? Would you like to relive those moments at every turn?
2.) We all love Open Source and yes our clients do too. But what they love more is the paycheck home to support their family or life.
The marketing guys at Ext don’t do a lot to show where their product has been successful. If you want a great *Case Study*, look at http://www.SalesForce.com and how they have used ExtJS as their library of choice. We should all hope to be as lucky as them and our web applications.
You(the complainers) might turn and ask yourself are YOU missing out on something because you are stuck in the past looking at licensing? Why would you NOT tell your customers to go with Ext? I for one want my customers and clients to be successful.
In closing, if a company likes SalesForce.com is willing to bet $739 million(2007 revenue) dependent and centered around a JavaScript framework, I want to give my clients the same opportunity and long term trust!
Can we get back to checking out more of Ext Core 3.0 (beta) now?
great job!
we love ext 3.0
Great Jobs!!
Pretty cool. Great documentation! I see why all my friends have been trying to get me to use Ext.
Could you please explain us how to upgrade to this version from 2.2?
Cool.
The Ext.Ajax.request({…}) example has a missing comma after the request URL.
Great Job Ext Team
It’s Beautiful,Very good!!
waiting for final release !!!
ext-core.js in ext-core-3.0-beta1.zip package is missing Ext.util.JSON ? Had to add it manually from build directory…
Excellent Guys, keep it up.
Excellent job! I use ext in all my websites. Cant wait until the full 3.0 is out. I am hoping for smaller file sizes and more speed.
“Wether you are new to or an experienced user of Ext…”
Isn’t it a mistake?
May be you mean “whether”? :))
很好很强大!
The ExtCore API Docs for Ext.Element contains a broken link to Ext.CompositeElement – should be …Lite
The Ext Core Manual contains a formatting error: ‘Hey {0} {1}’, how are you?’, (the ‘ after {1} shouldn’t be there.
AMazing…..
Thanks for u all.
I have Ext2.2.1 application , How can I port the app to Ext3. Anybody has any idea.
It’s so excellent. I like it
It’s so cow B. I like it
When will the full 3.0 be released?
支持强大的EXT,如此的漂亮,功能实用!
реальная тема =)
As a avid Mootooler, I Must say that this package pretty sweet for its size. Can we Have the manual offline?
[...] Ext Core becomes a viable alternative for jQuery: it’s also lightweight and free, and has fantastic community support [...]
Nice article Tommy and conference session on Ext Core this past week. Great job.
Hey, good job but where is all the “interface part” of ext? :P I’ve clients that want to use the shiny new 3.0 version!!!
Awesome!!!
Looking forward to Ext JS 3.0 for use.
Good! Congratulations guys!!
Att,
Felipe Damiani
@Mike: Yes, there are offline docs available though it’s a slightly outdated version and perhaps only to test Ext’s Adobe AIR support. Found here:
http://jackslocum.com/blog/2008/02/14/air-docs/
Great job guys and thank you for ExtJS existence.
很感谢EXT的贡献
great! i like it.
I can’t believe it!
잘 만들었넹~~ ^^)/
So perfact!
开始学习一下EXTjs~
Весело тут у вас.
Извините, что я вмешиваюсь, но, по-моему, эта тема уже не актуальна.
Я считаю, что Вы не правы. Давайте обсудим.
It’s so cow B. I like it
Thank you! Congrats!
How do I have to percieve the Core? Are the layout manager, tree, etc. not part of this?
Thanks!
congratulations!! Ext ,welldone
thank you very nices.
reported and test cases created. For those of you who are new to Ext Core, we suggest you read the previous blog post about the all the features and examples that we released as part of the beta. You can find
ed to enhance new or existing web pages. Ext Core is a subset of the upcoming Ext JS 3.0 release optimized for speed & file size. Developers familiar with Ext JS can leverage their existing skillset to provide an enhanced user experience to their web pages.
xperience creating rich user interfaces, we isolated the most powerful features used to enhance new or existing web pages. Ext Core is a subset of the upcoming Ext JS 3.0 release optimized for speed & file size. Developers familiar with
our experience creating rich user interfaces, we isolated the most powerful features used to enhance new or existing web pages. Ext Core is a subset of the upcoming
Ext Core is a subset of the upcoming Ext JS 3.0 release optimized for speed & file size. Developers familiar with
re de 2009. Ext Core est une autre bibliothèque Javascript qui se veut : -légère (25kb en version minimaliste) -rapide -sous une licence MIT -avec une API facile à utiliser Vous l’avez peut être compris, Ext Core n’est qu’une “sous-bibliothèque” de Ext JS, avec une licence plus souple. Elle offre toutes les fonctionnalités indispensables, mais pas la palette des widgets disponibles dans Ext JS, avec leurs styles d’une finition irréprochable. Un nouveau position
une autre bibliothèque Javascript qui se veut : -légère (25kb en version minimaliste) -rapide -sous une licence MIT -avec une API facile à utiliser Vous l’avez peut être compris, Ext Core n’est qu’une “sous-bibliothèque” de Ext JS, avec une licence plus souple. Elle offre toutes les fonctionnalités indispensables, mais pas la palette des wi
se veut : -légère (25kb en version minimaliste) -rapide -sous une licence MIT -avec une API facile à utiliser Vous l’avez peut être compris, Ext Core n’est qu’une “sous-bibliothèque” de Ext JS, avec une licence plus souple. Elle offr
e (25kb en version minimaliste) -rapide -sous une licence MIT -avec une API facile à utiliser Vous l’avez peut être compris, Ext Core n’est qu’une “sous-bibliothèque” de Ext JS, avec une licence plus souple. Elle offr
maliste) -rapide -sous une licence MIT -avec une API facile à utiliser Vous l’avez peut être compris, Ext Core n’est qu’une “sous-bibliothèque” de Ext JS, avec une licence plus souple. Elle offr
-bibliothèque” de Ext JS, avec une licence plus souple. Elle offr
licence MIT -avec une API facile à utiliser Vous l’avez peut être compris, Ext Core n’est qu’une “sous-bibliothèque” de Ext JS, avec une licence plus souple. Elle offre toutes les fonctionnalités indispensables, mais pas la palette des widgets disponibles dans Ext JS, avec leurs styles d’une finition irréprochable. Un nouveau position
ec une licence plus souple. Elle offre toutes les fonctionnalités indispensables, mais pas la palette des widgets disponibles dans Ext JS, avec leurs styles d’une finition irrépr
I am grateful to you for this great content.aöf
Always impressed
Great job, that is a powered frameworks. Good work!
I want to code with your framework. Have fun!
New to this – a bit worried about code stability as just on the http://www.extjs.com/products/extcore/ page if I open up Firefox error console it’s very busy with warnings.
Any comment?
I’m really very useful to follow a long-time see this as a blog here Thank you for your valuable information.
just wanted to remark that in the ExtCore -> Overview carrousel the lightbox image is wrong ;)
i like it and i want to purchase one.thank you.
Interessant. Kommt hier noch ein Folgeartikel? Möchte sehr gern einiges mehr darüber erfahren. Kannst du mir per E-Mail antworten?
Enjoy the most of the information I found here, just wanted to get my word out in the air, thansk to the blog owner…
Kommt hier noch ein Folgeartikel~
Excellent job! I use ext in all my websites. Cant wait until the full 3.0 is out. I am hoping for smaller file sizes and more speed.