Knut Urdalen's Blog: Seamless AJAX with PRADO
82198
Knut Urdalen shares a note about the latest issue of the International PHP Magazine - the December 2007 issue - that he has an article in.   The December issue of International PHP Magazine includes my latest article "Seamless AJAX with PRADO - An introduction to ActiveControls". In this article I discuss some AJAX design patterns and show you how to make use of them in AJAX enabled components that ships with the PRADO framework.   More information about this issue (and subscribing to the International PHP Magazine) can be found on this page of their site and details on the PRADO framework are over on the project's website.
512802
(InfoWorld) - Looking to bolster AJAX (Asynchronous JavaScript and XML) and development of Web 2.0 applications, the OpenAjax Alliance on Wednesday plans to introduce a project that addresses AJAX interoperability issues. The alliance, which features vendors such as IBM, Oracle, and Sun Microsystems, will roll out its OpenAjax Hub project. This effort involves developing a standard set of JavaScript functionality to tackle problems with interoperability arising when multiple AJAX libraries are used within the same Web page. With the hub, multiple AJAX run-time libraries would be able to coexist on a page. Version 1.0 of the OpenAjax Hub is planned for completion by the end of this calendar year; integration of the hub into AJAX toolkits expected in early 2007. "[In] today's world, AJAX libraries in general believe they own the entire browser [and] JavaScript environment, that they're the first one and the last one, so they assume a consequence-free environment where they can do whatever they want to do," said Jon Ferraiolo, acting director of the alliance and a Web architect in the emerging technologies group at IBM. What results, he said, are collisions of JavaScript objects and the toolkits managing HTML markup, and an inability to integrate functions such as drag and drop events. With development of the hub, the alliance is dealing with its top priority, said Jason Bloomberg, senior analyst at ZapThink, in an e-mail response to questions. "There is a critical need for OpenAjax at this point in time, because each vendor's AJAX implementation is generally incompatible with the others," Bloomberg said. "Basically, even though each AJAX widget leverages XML and JavaScript, both of which are open standards, that doesn't mean that one widget from one toolkit will work with another widget from some other toolkit. The most important goal of OpenAjax is figuring out how to resolve this interoperability problem. Clearly, Ajax will be far more successful if any widget works with any other widget, toolkit, or platform." Support for the hub is expected in toolkits such as Dojo and script.aculo.us as well as in AJAX frameworks such as Tibco General Interface and offerings from Backbase, JackBe and Nexaweb. "No one has made any commitments [to use the hub yet] but generally, [the parties cited] are all active in the alliance," said Ferraiolo. The unveiling of the hub is part of an update on the alliance's activities that is being provided Wednesday. The group will announce a near-doubling of its membership since its formation in February. New members include The Ajaxian, American Greetings, Bling Software, Curl, edge IPK, eLink Business Innovations, ENOVIA, MatrixOne, Finetooth, The Front Side, Ikivo, ILOG, IN2, IT Mill, Javeline, JWAX, Merced Systems, Nexaweb, Nitobi, OpenLink Software, Seagull Software, Sitepen, Sun, Vertex Logic, Vircon, Webtide, and Zoho. Previously announced members of the alliance include: Adobe, Backbase, BEA Systems, Borland, the Dojo Foundation, Eclipse Foundation, Fair Isaac, Google, IBM, ICEsoft, Innoopract, Intel, JackBe, Laszlo Systems, Mozilla Corporation, Novell, Openwave Systems, Opera, Oracle, Red Hat, SAP, Scalix, Software AG, Tibco, XML11, Zend, and Zimbra. While the alliance already has an impressive list of members, one name remains conspicuously absent: Microsoft. "Yes, we have extended an invitation and attempted to recruit Microsoft to join," Ferraiolo said. "We would love to have Microsoft participate in the alliance." "The purpose of the alliance is to make interoperability successful such that you can take AJAX technologies from one source and use it with another vendor's. Microsoft is one of [those] vendors and an important vendor in the AJAX community and it would be to everybody's advantage, particularly customers, if Microsoft's products would interoperate well with other people's products," said Ferraiolo. He added he was not making a statement that Microsoft products currently do not interoperate. Although Microsoft has promoted AJAX via its Atlas technologies, Microsoft currently does not have plans to join. "Microsoft has no firm plans to join the OpenAjax Alliance. However, Microsoft is very committed to working with the developer community and is engaged in dialogue with the OpenAjax Alliance organizers to learn more about the initiative," Microsoft said in a prepared statement. The alliance seeks to serve as an industry catalyst to boost AJAX-enabled Web 2.0 applications. Ferraiolo defines Web 2.0 as a new generation of the Web focused on collaboration. OpenAjax technologies are intended to produce lower development costs, faster delivery of applications, vendor choice, interoperability, and a richer Web experience. Greater collaboration capabilities that can be added to existing HTML sites or used for new applications is another goal. Also being unveiled on Wednesday is the organization's Web site and a white paper covering a description of AJAX, the AJAX value proposition and a technical section on AJAX architectures. These architectures include single and dual DOMs (Document Object Model), in which the single model involves processing everything in HTML browsers, while the dual approach involves using an XML parser that holds the description of the UI. The dual model offers a richer set of functionality but requires a larger download, typically, Ferraiolo said. AJAX in the open source world also is being included in the alliance's list of issues to cover. One of the goals for the alliance is the ability to have a zero-cost option, but it's not trying to lock out vendors from making money at all," said Ferraiolo. A second meeting of the alliance is planned for Oct. 5-6 in Santa Clara, Calif. The alliance on Oct. 5 plans to announce it has moved to a formal governance model that includes a steering committee. Goals and procedural issues also will be discussed. Security of AJAX also will be on the agenda, Ferraiolo said.
744440
On his blog today, Chris Hartjes has a quick screencast he's created showing off an interactive testing console he's worked up for use with the CakePHP framework.   I had suggested in an email to the CakePHP mailing list that an interactive console for doing testing of Models would be good. While at php|tek I spent a lot of time with the CakePHP guys talking about this. Out of it came some more ideas (like the ability to test your routes) and they even implemented a console that spits out API information for you. Very cool stuff. So, I decided to do a little screencast demo of a very early alpha version of the interactive console.   The screencast shows Chris running a test on his own classes, including demonstrating the built-in help the app offers.
620434
(InfoWorld) - SANTA CLARA, CALIF. -- AJAX (Asynchronous JavaScript and XML) Web application development can be roller skates for the Web; it must be used appropriately or it can be dangerous, said Jesse James Garrett, the IT consultant credited with coining the term "AJAX." Garrett gave a keynote presentation at the AJAXWorld Conference & Expo on Tuesday morning. While noting the benefits of AJAX, chiefly its enabling of asynchronous interaction over the Web, Garrett cautioned that AJAX is not usable in all instances. It is similar to how it would not be good to roller skate around a shopping mall, he said.  "We're going to introduce AJAX into places where it doesn't belong," said Garrett, who is director of User Experience Strategy and a founding partner of Adaptive Path. Afterward, Garrett elaborated. "I think a lot of people are trying to use AJAX for doing kind of more dynamic content navigation -- the stuff that the Web is already pretty good at, and that's a place where it starts to break down," Garrett said. This use of AJAX breaks the conventions of the "back" button, he said. Garrett's roller skate assessment struck a chord with attendee Vera Algoet, a Web developer at the Monterey County Office of Education. Although not currently an AJAX developer, Algoet cited the possibilities of fun and danger with using AJAX. "I havenât done any [AJAX development] yet, but I've read some things about security concerns," she said. But AJAX offers the possibility of improved applications, Algoet said. "I just want to make better applications" that are easier to use, she said. Recalling the genesis of the term "AJAX," Garrett said his company was hired by a large insurance company to improve an application to capture more business. Setting about trying to find a solution for responsiveness on the Web, Flash was first thought of as a solution, he said. But it became apparent there was a different way to approach the problem. "We built a prototype of this approach, we tested it with the insurance agents, and the response was overwhelmingly positive," Garrett said. "We actually had people laughing out loud with delight at processing an insurance policy." To persuade the insurance company president to fund the project with $2 million, Garrett came to the conclusion that he needed an easier way, just one word, to encapsulate what he was trying to do. He then came up with the word, AJAX. Garrett noted that AJAX is a concept involving asynchronous interaction and the use of browser-native technologies. Communicating the importance of these applications is critical, he stressed. "The challenge for us in designing these AJAX applications is in figuring out how to communicate to users the possibilities of using these applications," Garrett said. AJAX, he said, allows for incremental migration. "With AJAX, we can apply it in bits and pieces. We can incrementally migrate components of this new application to this new model where it makes sense, rather than having to move the whole thing all at once," said Garrett. Additionally, AJAX developers are able to learn from each other's approaches. While AJAX technologies have been around for a while, it was not until 2005 that everybody got behind this approach, Garrett said. This was because the end of the browser war presented a relatively stable landscape and scripting languages became prominent. The innovation posed in the AJAX-based Google Gmail and Google Maps applications also contributed, he said. AJAX usage figures presented by Evans Data at the conference show a promising future. About 1.7 million developers now use it and another 1.9 million have evaluated it or plan to use it, according to Evans. An Adobe official at the show stressed that Adobe's Flex and Flash technologies can work with AJAX rather than rival it. "Flex and the Flash platform [are] not here at all to replace or try to compete with AJAX," said Christophe Coenraets, senior technology evangelist at Adobe. "Flex and AJAX work together to deliver the right experience," he said. Coenraets also briefly discussed Adobe's planned Apollo technology for running browser-based applications outside of a browser. This technology, which currently is an alpha stage of development, enables users to run Flex and Flash applications offline and allows access to local resources. JackBe at the conference unveiled its Presto REA (Rich Enterprise Application) platform, for delivering enterprise AJAX applications that are based on SOA and Web services. "It provides a governed access to SOA services," said Rob Vonderhaar, vice president of marketing at JackBe. The platform goes into a beta release in November, with general availability planned for the first quarter of 2007.
712717
Picking back up on his blog, Sean Coates shares a Dashboard widget he's created to do quick and dirty PHP interpreting on the fly:   I found myself using php -r on the command line to test some simple code snippets, and it occurred to me that this isn't "The Mac Way." So, following the excellent documentation at Apple, I managed to come up with something pretty useful in an afternoon.   His widget sits happily, ready to take in PHP code and output the result at the click of a button.
465600
Joshua Eichorn notes in a quick post that, due to a last minute change, he will be speaking at php/db|works this year.   He'll be giving two Ajax sessions:  Scaling with Ajax (Wednesday @ 10:15) Javascript Light and Sweet (Wednesday @ 14:45)    Check out the full listing schedule over on the php|architect site for complete details on the whos and whens of each day of the conference. And, of course, you can still sign up for the conference too!
680036
Chris Hartjes has posted the first part of a series on the "rebirth" of a component that was contributed to the Zend Framework - Zend_Service_Audioscrobbler (to interface with the Audioscrobbler service from Last.fm).   Many moons ago I set out (along with my friend Derek) to make a contribution to Zend Framework in the form of an add-on to let people easily access the Audioscrobbler web service. We worked really hard, implemented all the features of the web service at that time. Imagine our surprise when it got accepted as part of the 1.0 release of Zend Framework! Awesome! It even has it's own entry in the manual and everything.   He admits, though, that the code is not all that it could be and cites some examples as well as ways he would make it all work so much better.
185572
On the ProDevTips.com website, there's a new tutorial (part one of a series) that walks the developer through the integration of the Zend Framework, some Ajax functionality and Smarty to create a feed reader.   In this series I will walk you through the code of a site that uses only Ajax and Scriptaculous to handle it's completely windowed interface. Making an interface like this is not really good design, it's only done here for the sake of teaching. It is kinda cool though. Especially if you have a big screen.   The source code is available for download and having it makes the installation and setup of the system much simpler. With it, you're only about fifteen steps away from getting the application up and running.
72240
In a previous post, Raphael Stolt showed how to create a simple application that handled the transmission of a JSON-formatted message from the Zend Framework's Zend_Service component (translating XML to JSON in the process). In this new post today he shows the other half of the equation - how to handle the JSON messages on the receiving end.   In this post I'd like to show how to unpack the JSON response and render a visual representation by utilizing the Template class of the Prototype JavaScript library.   The code is all Javascript but it's a good example of how to break down the request and output a simple list format of the contents to the page (record "shelf" and record information).
295875
(InfoWorld) - The Web and AJAX have many deficiencies, including security holes, and much more needs to be done to iron out these problems, according to a keynote speaker at The Rich Web Experience conference in San Jose, Calif., on Thursday evening After taking the audience through a history of computing interfaces beginning with Hollerith cards to time-sharing and finally to the Web, Douglas Crockford, an architect at Yahoo and creator of JSON (JavaScript Object Notation), gave a mostly gloomy presentation on AJAX (Asynchronous JavaScript and XML) and the Web. His presentation was entitled, "The State of AJAX." "The sad thing was the Web was a step backward in terms of interactivity [when it debuted]," Crockford said. It looked like Java would fix the problem with applets. "Unfortunately, Java was a huge failure. It completely collapsed. It didn't meet any of its goals," he said. Java's write-once, run-everywhere promise was not kept; it had an unworkable security model and a tedious UI model, said Crockford. Java did, however, become very successful on the server, he added. This left JavaScript and then XMLHTTP requests for communicating from the browser to the data server. "It was really Microsoft that created all the components that AJAX needed," Crockford said. AJAX applications are highly interactive, highly social, easy to use, and offer great network efficiency, according to Crockford. "The big problem is that it is too damn hard to write these apps," he said. "The most interesting innovation in software development in 20 years has got to be the mashup," which shows the benefits of distributed programming. "Unfortunately, mashups are insecure [in the browser]," said Crockford, with components unable to be protected from each other. The model in the browser is fully broken and needs to be fixed, he said. "The Web is an exploit waiting to happen," Crockford said. Crockford then went through a critique of various Web technologies. "[JavaScript is a] deeply flawed language," with an unpopular programming model. "But to its credit, it's working really, really well in an environment where Java failed," said Crockford. The planned JavaScript 2 upgrade also has problems. "It will make the language considerably more complicated," Crockford said. HTML raises questions about whether it is a document format or an application delivery format; it has low graphical ability and is missing a compositing model. With AJAX, HTML needs to be an application delivery format, said Crockford. XHTML was supposed to replace HTML, but it died because it was too brittle, he said. CSS (Cascading Style Sheets) presents a styling layer in the browser, but it is slow, complex, and incredibly fragile. "It surprises me that there is not a greater call for its replacement," Crockford said. XML is complicated and inefficient, he said. "Fortunately, XML has been replaced by JSON," Crockford said. "This gives me some confidence that we can fix the standards in the Web. This is our first success at that." Crockford urged standardization and uniformity in browsers. But there are computers not capable of running the latest browsers, he said.Â  If the Web is unable to repair itself, it could be replaced with a proprietary system such as Microsoft's Silverlight or Adobe's AIR (Adobe Integrated Runtime), Crockford said. Proprietary systems do present advantages, such as having only one source of new bugs and presenting a simpler upgrade story. But people like open systems and are suspicious of proprietary systems, he said. Crockford added that he used to think the browser was the most hostile programming environment ever devised, but then he found out about mobile programming. The mobile industry has had its own failed experiments, he said. "Despite all of its problems, AJAX works. So we're looking at a mobile Web now," Crockford said. Fixing the many issues might just require a lack of democracy, in which the right players are placed in the same room and agree on a remedy, similar to how the U.S. Constitution was forged, he said. "Maybe we should do that, too, but who are the right guys and how do you figure out how to get everybody else not to revolt," Crockford said. Earlier on Thursday, Kevin Hoyt, platform evangelist with Adobe Systems, emphasized the concept of experience as critical for Web development. Experience matters to business, he stressed. He spoke of an experience economy as a successor to the current service economy. "Seventy-two percent of shopping carts abandoned because of poor user experience," Hoyt said. He also urged developers not to disregard what they learned from developing desktop applications when they start building for the Web. It is OK to use desktop metaphors in Web apps, such as widgets, he said. "It's OK to think inside the box," said Hoyt. Customers, he said, want a personal relationship with a brand.SEE ALSO:Rich Web technologies debated
75713
Chris Chabot has posted a PHP package he's worked up that functions as a daemon sitting and listening on a socket.   To deal with 1000's of concurrent, always on (comet aka hanging iframe) http (server) connections, and an equal amount of IRC client connections, plus being able to interpret and parse and delegate all the messages and events, i needed a very fast, stable, flexible and easy to use 'daemon' library for PHP.   He links to the tarball of the release and to the project page as well as including an example of its usage - creating a simple HTTP server with various hooks built in (like on_connect, on_read, and on_timer).
635920
Popular posts from PHPDeveloper.org for the past week:Padraic Brady's Blog: Complex Views w/Zend Framework - The Final Chapter: ZFE & Zend_Layout in Core!php|architect: Stuff your stockings: single issues 30% offDeveloperTutorials.com: How to Install PHP 5 on LinuxStoyan Stefanov's Blog: Fancy FormattingSymbianOne.com: Your S60 Web server gets a boostAndreas Gohr's Blog: MySimple.php - A lightweight PHPMyAdmin substituteNessa's Blog: Working with Permissions in PHPSymfony Blog: Symfony 1.0.10 is OutMatthew Turland's Blog: Web Scraping Article PublishedJan Lehnardt's Blog: REST Controller for PHP Applications
653298
In the last part of this series, you'll learn how to build a declarative component for an application with a list of customers which is populated from a server-side data handler using AJAX. By David Johnson, Alexei White, and Andre Charland. 0910
445025
Popular posts from PHPDeveloper.org for the past week:Stijn Leenknegt's Blog: [PHP6] function-return-array idea!GeesNotNerds Blog: Free PHP + Ajax chat appStefan Mischook's Blog: Object Oriented PHP Tutorial Updated - Steps 18 - 22Dave Dash's Blog: SymfonyCampWebDigity.com: PHP geotargeting techniquesEtienne Kneuss' Blog: Late Static Bindings ExplainedDevShed: Handling Static Data with PHP 5PHP-Learn-It.com: Cooking Cookies with PHPMichael Kimsal's Blog: PHP PredictionJob Posting: Steinman Recruiting Seeks Senior Developer (Littleton, CO)
565545
On Dotvoid.com, there's a new post that reminds us of two of the more "ajaxified" features of the new releases of PHP 5 (like 5.2) - the JSON extension and the functionality to track file uploads.   These features aren't competing for the heavy weight title in the release notes. Still, having these implemented in PHP makes it a lot easier to develop modern, more responsive, web based applications.   You can get more info on the JSON extension here and an example of the file upload monitor in this entry on the Bitflux blog.
445405
In this latest post from our sister site, AjaxDeveloper.org, today, there's a note from Joshua Eichorn's blog about the latest release of his PEAR package and the new site he's started for it.    HTML_AJAX 0.3.0 is huge leap forward from the previous versions, although it still remains mostly backward compatible with earlier releases.  One of the most important and exciting changes with HTML_AJAX 0.3.0 is the addition of three new developers who have been putting a lot of time into the project. They totally eradicated every item on the original todo list, and the feature roadmap has jumped ahead.    He mentions a few other issues that were resolved as well as some new features added - plus the introduction of the wiki page for the project...
344312
Joshua Eichorn is back today with the answers to the questions as posed by the readers of his blog previously.   Your AJAX answers from my AJAX questions post are below, I hope everyone finds them helpful.   The questions answered include:  How can I find out whether a connection is broken? Why would you want to use HTML_AJAX when there are far better tools for the job, pure javascript solutions such as prototype or jquery? What is the best way to 'degrade' a website when Javascript/XMLHttpRequest support is disabled? When utilizing an AJAX API such as Google Maps, how do you execute embedded Javascript commands in a page generated on-the-fly?    ...as well as a few more. Where appropriate, he also includes code to help illustrate his point.