<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1008474315270539550</id><updated>2011-11-27T16:17:56.987-08:00</updated><title type='text'>Tecnologia</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-8585538376554897196</id><published>2009-09-27T01:45:00.000-07:00</published><updated>2009-09-27T01:58:12.609-07:00</updated><title type='text'></title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:x-large;"&gt;Respuestas de Examenes de Certificacion JAVA&lt;/span&gt;&lt;/b&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Esta sera la primera entrega en nuestro blog de preguntas y respuestas de examenes de certificacion del lenguaje java&lt;/div&gt;&lt;div&gt;Hoy publicaremos algunas preguntas de examenes  de certificacion sobre Web Component &lt;span class="Apple-style-span"  style="color:#333333;"&gt;(&lt;/span&gt;&lt;span class="Apple-style-span"   style="  line-height: 20px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;font-size:15px;"&gt;&lt;a href="http://j2eeworld.weebly.com/1/post/2008/04/scwcd-11.html" id="blog-title-link" class="blog-link" style="background-color: rgb(255, 255, 255); text-decoration: none; font-weight: bold; "&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;SCWCD&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;font-size:130%;color:#333333;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 20px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;font-size:15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:100%;color:#E4761B;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 17px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;font-size:13px;"&gt;&lt;span class="Apple-style-span"  style="color: rgb(102, 102, 102);  font-size:11px;"&gt;&lt;span class="Apple-style-span"   style="font-size:7;color:#E4761B;"&gt;&lt;span class="Apple-style-span"  style="font-size:58px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;big style="color: rgb(228, 118, 27); "&gt;Consider the following code snippet of servlet code:&lt;br /&gt;public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {&lt;br /&gt;    PrintWriter out = response.getWriter();&lt;br /&gt;    String value = getValue ();&lt;br /&gt;    if (value == null) response.sendError (HttpServletResponse.SC_NOT_FOUND, "Failed");        &lt;br /&gt;&lt;br /&gt;    response.sendRedirect ("test.jsp");&lt;br /&gt;}&lt;br /&gt;If the getValue () method returns null , which of the following statements are true?&lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    The code will work without any errors or exceptions        B    An IllegalStateException will be thrown  &lt;br /&gt; C    An IOException will be thrown  &lt;br /&gt; D    A NullPointerException will be thrown&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;B&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 118, 27); "&gt;Which of the following statements is true regarding MyServlet?&lt;/big&gt;&lt;br /&gt;import javax.servlet.*;&lt;br /&gt;import javax.servlet.http.*:&lt;br /&gt;import java.io.*;&lt;br /&gt;&lt;br /&gt;public class MyServlet extends HttpServlet implements SingleThreadModel&lt;br /&gt;{&lt;br /&gt;String myName;&lt;br /&gt;&lt;br /&gt;public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException  {&lt;br /&gt;response.setContentType("text/plain");&lt;br /&gt;         PrintWriter out = res.getWriter();&lt;br /&gt;myName = req.getParameter("name");&lt;br /&gt;sayHello(out);&lt;br /&gt;out.close();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void sayHello(PrintWriter out)  {&lt;br /&gt;out.println("Hello " + myName);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; A    MyServlet is thread safe  &lt;br /&gt; B    MyServlet is not thread safe because myName is an instance variable  &lt;br /&gt; C    MyServlet is not thread safe because MyServlet implements SingleThreadModel.  &lt;br /&gt; D    None of the above&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;A&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 118, 27); "&gt;Which of the following combinations regarding Design Patterns are correct?&lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    Business Delegate - Reduces the coupling between presentation-tier clients and business services.  &lt;br /&gt; B    Data Access Object - Allows for Multiple Views using the same model  &lt;br /&gt; C    MVC - Enables easier migration to different persistence storage implementations.   &lt;br /&gt; D    Value Object - Reduces Network Traffic&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;A and D&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 118, 27); "&gt;Which of these is true about deployment descriptors. Select one correct answer.&lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    The order of elements in deployment descriptor is important. The elements must follow a specific order.  &lt;br /&gt; B    The elements of deployment descriptor are not case insensitive  &lt;br /&gt; C    The servlet-mapping element, if defined, must be included within the servlet element.  &lt;br /&gt; D    The web-app element must include the servlet element&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;A&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="font-size:130%;color:#E4761B;"&gt;&lt;span class="Apple-style-span"  style="font-size:16px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 118, 27); "&gt;Which of these is a correct fragment within the web-app element of deployment descriptor. Select the two correct answer.&lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    &lt;error-page&gt; &lt;error-code&gt;404&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt;   &lt;br /&gt; B    &lt;error-page&gt; &lt;exception-type&gt;mypackage.MyException&lt;/exception-type&gt; &lt;error-code&gt;404&lt;/error-code&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt;   &lt;br /&gt; C    &lt;error-page&gt; &lt;exception-type&gt;mypackage.MyException&lt;/exception-type&gt; &lt;error-code&gt;404&lt;/error-code&gt; &lt;/error-page&gt;  &lt;br /&gt; D    &lt;error-page&gt; &lt;exception-type&gt;mypackage.MyException&lt;/exception-type&gt; &lt;location&gt;/error.jsp&lt;/location&gt; &lt;/error-page&gt;&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;A and D&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="font-size:100%;color:#E47316;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 115, 22); "&gt;Which of these is a correct example of specifying a listener element resented by MyClass class. Assume myServlet element is defined correctly. Select one correct answer.  &lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    &lt;listener&gt;MyClass&lt;/listener&gt;  &lt;br /&gt; B    &lt;listener&gt; &lt;listener-class&gt;MyClass&lt;/listener-class&gt;&lt;/listener&gt;  &lt;br /&gt; C    &lt;listener&gt; &lt;listener-name&gt;aListener&lt;/listener-name&gt; &lt;listener-class&gt;MyClass&lt;/listener-class&gt; &lt;/listener&gt;  &lt;br /&gt; D    &lt;&gt;&lt;listener&gt; &lt;servlet-name&gt;myServlet&lt;/servlet-name&gt; &lt;listener-class&gt;MyClass&lt;/listener-class&gt; &lt;/listener&gt;&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;B&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="font-size:100%;color:#E47316;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;span class="Apple-style-span"  style="color: rgb(102, 102, 102);  font-size:11px;"&gt;&lt;big style="color: rgb(228, 115, 22); "&gt;In a JSP custom tag , which method would you use to access JSP implicit variable that references application scope ?&lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    PageContext.getOut()                 &lt;br /&gt; B    jspFactory.getPageContext()  &lt;br /&gt; C    TagSupport.getValue(String)  &lt;br /&gt; D    pageContext.getServletContext()  &lt;br /&gt; &lt;br /&gt;Answer&lt;br /&gt;D&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 115, 22); "&gt;Which method is used to retrieve objects from session?&lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    getAttribute method of javax.servlet.ServletSession.&lt;br /&gt; B    getAtrribute method of javax.servlet.HttpSession&lt;br /&gt; C    getAttribute method of javax.servlet.http.Session&lt;br /&gt; D    getAttribute method of javax.servlet.http.HttpSession&lt;br /&gt; E    getAttribute method of javax.servlet.HttpSession&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;D&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:100%;color:#666666;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 17px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;font-size:11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:100%;color:#666666;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 17px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;font-size:11px;"&gt;&lt;big style="color: rgb(228, 115, 22); "&gt;Which method is used to store file in the server ?  &lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    GET&lt;br /&gt; B    PUT&lt;br /&gt; C    POST&lt;br /&gt; D    HEAD&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;B&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 115, 22); "&gt;When a user clicks on a link in a page, which method will get invoked ?&lt;/big&gt;&lt;br /&gt; A    POST&lt;br /&gt; B    PUT  &lt;br /&gt; C    GET  &lt;br /&gt; D    HEAD&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;C&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 115, 22); "&gt;What method will get executed on clicking the following code.?&lt;br /&gt;&lt;form method="GET" action="/TestServlet"&gt;&lt;br /&gt;    &lt;input type="text" name="name"&gt;&lt;br /&gt;    &lt;input type="submit" value="Submit"&gt;&lt;br /&gt;&lt;/form&gt;   &lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    GET&lt;br /&gt; B    POST&lt;br /&gt; C    HEAD   &lt;br /&gt; D    PUT&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;A&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 115, 22); "&gt;Which character is used to separate the URI and query string ? &lt;/big&gt;&lt;br /&gt; A    ?&lt;br /&gt; B    &amp;amp;&lt;br /&gt; C    =&lt;br /&gt; D    ;&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;A&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 115, 22); "&gt;What will be the output of the following code? Assume that all the variables are declared properly&lt;br /&gt;String str= request.getDateHeader("Accept-Language");&lt;br /&gt;out.println(str); &lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    Compiler error&lt;br /&gt; B    An IO Exception is thrown&lt;br /&gt; C    Null&lt;br /&gt; D    An IllegalArgumentException thrown&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;D&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;big style="color: rgb(228, 115, 22); "&gt;To send binary output to response, which method of HttpServletResponse is used to get the Writer/ Stream object ?&lt;/big&gt; &lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    getStream  &lt;br /&gt; B    getWriter  &lt;br /&gt; C    getBinaryOutputStream  &lt;br /&gt; D    getOutputStream  &lt;br /&gt; E    getBinaryStream&lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;D&lt;br /&gt;&lt;br /&gt;&lt;big style="color: rgb(228, 115, 22); "&gt;&lt;br /&gt;which of the following JSP implicit object will not be available to the JSP page ? Select two &lt;/big&gt;&lt;br /&gt;&lt;br /&gt; A    session   &lt;br /&gt; B    request   &lt;br /&gt; C    application  &lt;br /&gt; D    exception  &lt;br /&gt;&lt;br /&gt;Answer&lt;br /&gt;A and D&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-8585538376554897196?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/8585538376554897196/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/respuestas-de-examenes-de-certificacion.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/8585538376554897196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/8585538376554897196'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/respuestas-de-examenes-de-certificacion.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-8153128586325708396</id><published>2009-09-22T23:01:00.000-07:00</published><updated>2009-09-22T23:02:08.046-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, 'Trebuchet MS', sans-serif; font-size: 13px; color: rgb(32, 64, 99); "&gt;&lt;h3 class="post-title entry-title" style="margin-top: 13px; margin-right: 0px; margin-bottom: 13px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span class="Apple-style-span"   style="font-size:180%;color:#477FBA;"&gt;&lt;span class="Apple-style-span" style="font-size: 18px;"&gt;Swing: look and feel&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div class="post-header-line-1"&gt;&lt;/div&gt;&lt;div class="post-body entry-content"&gt;system default:&lt;br /&gt;&lt;span style="font-style: italic; "&gt;javax.swing.UIManager.setLookAndFeel (&lt;br /&gt;javax.swing.UIManager.getSystemLookAndFeelClassName() );&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;windows:&lt;br /&gt;&lt;span style="font-style: italic; "&gt;javax.swing.UIManager.setLookAndFeel(&lt;br /&gt;"com.sun.java.swing.plaf.windows.WindowsLookAndFeel" );&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;motif:&lt;br /&gt;&lt;span style="font-style: italic; "&gt;javax.swing.UIManager.setLookAndFeel(&lt;br /&gt;"com.sun.java.swing.plaf.motif.MotifLookAndFeel");&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-8153128586325708396?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/8153128586325708396/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/swing-look-and-feel-system-default.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/8153128586325708396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/8153128586325708396'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/swing-look-and-feel-system-default.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-1933494103740153676</id><published>2009-09-21T00:42:00.000-07:00</published><updated>2009-09-21T00:43:14.977-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Tahoma, Arial, sans-serif; font-size: 11px; color: rgb(69, 69, 69); "&gt;&lt;h3 id="post-286" style="clear: both; background-image: url(http://blog.educastur.es/wp-content/themes/educastur-blog/images/corner.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(63, 109, 186); color: rgb(255, 255, 255); padding-top: 7px; padding-right: 0px; padding-bottom: 7px; padding-left: 5px; font: normal normal bold 1.2em/normal Tahoma, Arial, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; background-position: 100% 0%; "&gt;Insertar una presentación de Slideshare&lt;/h3&gt;&lt;div id="entrytext"&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;a href="http://www.slideshare.net/" target="_blank" style="color: rgb(22, 76, 153); text-decoration: none; background: inherit; "&gt;&lt;em&gt;&lt;strong&gt;Slideshare&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; es un interesante servicio de alojamiento de presentaciones. Admite los formatos &lt;em&gt;Powerpoint&lt;/em&gt; y&lt;em&gt;OpenOffice&lt;/em&gt;, y los convierte al vuelo en archivos flash (swf), que es lo que devuelve a los usuarios, con un visor sencillo y práctico. Es ese archivo swf, junto con unos parámetros asociados lo que tenemos que insertar desde el editor de &lt;strong&gt;Educastur Blog&lt;/strong&gt;.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;Para insertar una presentación Slideshare, sigue los siguientes pasos:&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;strong&gt;• Sube&lt;/strong&gt; o &lt;strong&gt;localiza&lt;/strong&gt; la presentación en la web de &lt;a href="http://www.slideshare.net/" target="_blank" style="color: rgb(22, 76, 153); text-decoration: none; background: inherit; "&gt;&lt;em&gt;&lt;strong&gt;Slideshare&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;. Para localizar una presentación existente se puede utilizar el buscador:&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;img src="http://blog.educastur.es/files/2009/01/img28_01.png" alt="buscar presentacion" border="1" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;strong&gt;• Selecciona y copia&lt;/strong&gt; el código de la misma (está en la parte derecha de la pantalla):&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt; &lt;img src="http://blog.educastur.es/files/2009/01/img28_02.png" alt="copiar codigo" border="1" width="519" height="277" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;strong&gt;• &lt;/strong&gt;&lt;strong&gt;Pega &lt;/strong&gt;el código en un editor de texto cualquiera (el mismo bloc de notas, p. ej.) y&lt;strong&gt;selecciona &lt;/strong&gt;y &lt;strong&gt;copia &lt;/strong&gt;al portapapeles (Ctrl + C) sólo lo necesario, que en la siguiente imagen aparece en color amarillo:&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt; &lt;img src="http://blog.educastur.es/files/2009/01/img28_03.png" alt="codigo copiado" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;strong&gt;• &lt;/strong&gt;En el editor de Educastur blog, haz clic en el botón &lt;strong&gt;Insertar Flash&lt;/strong&gt; (swf) y en la ventana emergente &lt;strong&gt;pega &lt;/strong&gt;el código que has copiado previamente (Ctrl + V):&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;img src="http://blog.educastur.es/files/2009/01/img28_04.png" alt="codigo pegado" border="1" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;strong&gt;• &lt;/strong&gt;Tras aceptar en la ventana anterior, aparecerán otras dos ventanas para introducir ancho y alto. Aceptamos los valores por defecto en ambos casos y, finalmente, veremos el código que se ha introducido en el editor del blog:&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;img src="http://blog.educastur.es/files/2009/01/img28_05.png" alt="codigo editor" border="1" width="519" height="193" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;strong&gt;• &lt;/strong&gt;Una vez guardados los cambios podremos ver el resultado:&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; "&gt;&lt;img src="http://blog.educastur.es/files/2009/01/img28_06.png" alt="resultado" border="1" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-1933494103740153676?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/1933494103740153676/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/insertar-una-presentacion-de-slideshare.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/1933494103740153676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/1933494103740153676'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/insertar-una-presentacion-de-slideshare.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-5232644478700652655</id><published>2009-09-21T00:19:00.000-07:00</published><updated>2009-09-21T00:42:04.135-07:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fTUIDIMTz40/SrctpiC3lOI/AAAAAAAAAA4/R5PpXuXSgHU/s1600-h/2.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 318px; height: 320px;" src="http://3.bp.blogspot.com/_fTUIDIMTz40/SrctpiC3lOI/AAAAAAAAAA4/R5PpXuXSgHU/s320/2.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5383822071081440482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fTUIDIMTz40/SrcrY8v6n3I/AAAAAAAAAAw/VpeFQFf-LYY/s1600-h/1.JPG"&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="  ;font-family:verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;font-size:13px;"&gt;&lt;div id="post_message_1251379" class="post"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;MOTOROLA revive de sus cenizas y Presenta MOTOBLUR&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div id="post_message_1251379" class="post"&gt;&lt;b&gt;&lt;span style="line-height:115%;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-bidi-Times New Roman&amp;quot;; mso-ansi-language:ES-PE;mso-fareast-language:ES-PE;mso-bidi-language: AR-SAfont-family:&amp;quot;;font-size:10.0pt;color:black;"&gt;&lt;span class="Apple-style-span"  style="color:#810081;"&gt;&lt;span style="line-height:115%; font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;; mso-bidi-Times New Roman&amp;quot;;mso-ansi-language:ES-PE;mso-fareast-language: ES-PE;mso-bidi-language:AR-SAfont-family:&amp;quot;;font-size:10.0pt;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;Motorola acaba de anunciar su estrategia Android. El primer detalle que debes conocer es el skin utilizado por la compañía, de nombre MOTOBLUR (o simplemente blur), y con especial énfasis en las redes sociales. Para ello, incluye widgets con Twitter, Facebook, Gmail, MySpace, Yahoo, Last.fm y otras aplicaciones, unificando todos los contactos en un único listín en el que podrás ver las actualizaciones de estado y las fotos de tus amigos cuando te llamen. También incorpora función de borrado remoto y seguimiento por GPS   Motorola DEXT: con Android, QWERTY y muy muy para las redes socialesSu nuevo teléfono, CLIQ en el mercado EEUU y DEXT en el resto del mundo, es un terminal con el nuevo skin MOTOBLUR y unas características bastante jugosas. Además de incluir el enfoque Blur hacia las redes sociales, viene con 3G, WiFi, una cámara de cinco megapíxeles con capacidad de grabar vídeo a 24 fps, y un teclado deslizable. Estará disponible a partir del cuarto trimestre del año en blanco y titanio, a través de las operadoras T-Mobile (EEUU), Orange (Reino Unido), Movistar (España, a partir de otoño), y América Móvil (en América Latina es CLARO, TELCEL, COMCEL y PORTA).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;font-size:13px;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div id="post_message_1251379" class="post" style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 55px;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 16px; line-height: normal; "&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fTUIDIMTz40/SrcuD9R2qNI/AAAAAAAAABA/TVnOJpAPhMM/s1600-h/3.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_fTUIDIMTz40/SrcuD9R2qNI/AAAAAAAAABA/TVnOJpAPhMM/s320/3.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5383822525068650706" style="cursor: pointer; width: 320px; height: 238px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="post_message_1251379" class="post"&gt;&lt;span style="line-height:115%;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-Times New Roman&amp;quot;; mso-ansi-language:ES-PE;mso-fareast-language:ES-PE;mso-bidi-language: AR-SAfont-family:&amp;quot;;font-size:10.0pt;color:black;"&gt;&lt;span&gt;&lt;span&gt;Navegador HTML completo (con flash), 3G; acceso directo a servicios como Facebook, Picasa, LastFM, YouTube y Photobucket; cámara con autofocus, conector de 3,5 mm, pantalla táctil capacitiva (3,1", 320 x 480), AGPS con localizador; y lector microSDHC (compatible con tarjetas de hasta 32 GB, incluida una de 2 GB).&lt;br /&gt;El procesador es un Qualcomm MSM7201A a 538 MHz (como el del Hero). Tiene a su disposición 256 MB de RAM, una ROM de 512 MB, y 256 MB para el usuario&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;font-size:13px;"&gt;&lt;div id="post_message_1251379" class="post"&gt;&lt;span class="Apple-style-span"   style="  color: rgb(85, 26, 139); -webkit-text-decorations-in-effect: underline; font-family:Georgia, serif;font-size:16px;"&gt;&lt;img src="http://3.bp.blogspot.com/_fTUIDIMTz40/SrcrY8v6n3I/AAAAAAAAAAw/VpeFQFf-LYY/s320/1.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5383819587168673650" style="text-align: left;float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 266px; height: 320px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="smallfont" style="font: normal normal normal 11px/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; "&gt;&lt;/div&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-5232644478700652655?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/5232644478700652655/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/motorola-revive-de-sus-cenizas-y.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/5232644478700652655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/5232644478700652655'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/motorola-revive-de-sus-cenizas-y.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fTUIDIMTz40/SrctpiC3lOI/AAAAAAAAAA4/R5PpXuXSgHU/s72-c/2.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-1944212525328921494</id><published>2009-09-18T23:21:00.000-07:00</published><updated>2009-09-18T23:22:09.843-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span" style="font-family: verdana, arial, helvetica, sans; font-size: 12px; color: rgb(68, 68, 68); line-height: 20px; "&gt;&lt;h2 class="title" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal bold 1.6em/normal arial, helvetica, verdana, sans; "&gt;&lt;span class="Apple-style-span"  style="color:#456030;"&gt;&lt;span class="Apple-style-span" style="line-height: 26px;"&gt;Guía rápida para desarrollar en Android: Hello World&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;Para aquellos que aún no lo sepan, &lt;a href="http://www.openhandsetalliance.com/android_overview.html" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(0, 102, 187); "&gt;Android&lt;/a&gt; es un conjunto de software para dispositivos móviles: sistema operativo, middleware y aplicaciones key mobile.&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;Tiene toda la pinta de que va a tener mucho éxito, quizás porque está realizado por Google, quizás porque los &lt;a href="http://www.openhandsetalliance.com/oha_members.html" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(0, 102, 187); "&gt;miembros&lt;/a&gt; de la alianza son muy importantes, quizás porque es open source, quizás porque es sencillo o quizás porque estamos hasta el gorro de Windows. Sea lo que sea, merece la pena empezar a desarrollar aplicaciones para Android, y si los motivos anteriores o el desarrollo como profesional no te estimula, quizás los &lt;a href="http://code.google.com/android/adc.html" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(0, 102, 187); "&gt;10 millones de dólares que ofrecen a la mejor aplicación&lt;/a&gt; si te puedan interesar.&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;Pues venga, a ponerse a &lt;em style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;picar&lt;/em&gt; que los pisos están muy caros.&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;Empezar a desarrollar para Android es muy sencillo, tan solo tienes que tener el &lt;a href="http://code.google.com/android/intro/installing.html" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(0, 102, 187); "&gt;SDK de Android&lt;/a&gt;, tener &lt;a href="http://www.eclipse.org/downloads/" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(0, 102, 187); "&gt;instalado Eclipse&lt;/a&gt;, por ejemplo la versión Classic y añadir un plugin para Eclipse que ofrecen, para lo cual hay que:&lt;/p&gt;&lt;ul style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2.5em; text-indent: 7px; font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: none; background-image: url(http://sentidoweb.com/i/arrow-ext-mini.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: 0px 7px; "&gt;En Eclipse ir a &lt;strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Help &gt; Software Updates &gt; Find and Install&lt;/strong&gt;.&lt;/li&gt;&lt;li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2.5em; text-indent: 7px; font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: none; background-image: url(http://sentidoweb.com/i/arrow-ext-mini.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: 0px 7px; "&gt;Seleccionar &lt;strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Search for new features to install&lt;/strong&gt; y pinchar en &lt;strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Next&lt;/strong&gt;.&lt;/li&gt;&lt;li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2.5em; text-indent: 7px; font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: none; background-image: url(http://sentidoweb.com/i/arrow-ext-mini.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: 0px 7px; "&gt;Seleccionar &lt;strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;New Remote Site&lt;/strong&gt;.&lt;/li&gt;&lt;li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2.5em; text-indent: 7px; font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: none; background-image: url(http://sentidoweb.com/i/arrow-ext-mini.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: 0px 7px; "&gt;Añadir esta URL: &lt;strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;https://dl-ssl.google.com/android/eclipse/&lt;/strong&gt;.&lt;/li&gt;&lt;li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2.5em; text-indent: 7px; font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: none; background-image: url(http://sentidoweb.com/i/arrow-ext-mini.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: 0px 7px; "&gt;Selecionar &lt;strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Android Plugin &gt; Eclipse Integration &gt; Android Development Tools&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;Una vez instalado el plugin, debemos indicar la ruta del SDK, para lo cual iremos a &lt;strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Window &gt; Preferences&lt;/strong&gt; y en la opción de &lt;strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Android&lt;/strong&gt; modificaremos la ruta del SDK.&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;Ya lo tenemos todo listo, ahora solo nos falta crear un nuevo proyecto Android (File &gt; New &gt; Project) y modificar el código base que nos ofrece.&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;En el ejemplo que vamos a hacer tan solo escribiremos una frase en el terminal, para lo cual editaremos el fichero principal del proyecto, en mi caso como he llamado al proyecto prueba el fichero es &lt;em style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;prueba.java&lt;/em&gt;:&lt;/p&gt;&lt;ol class="code" style="padding-top: 1.5em; padding-right: 2em; padding-bottom: 0.2em; padding-left: 1.5em; margin-top: 20px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(225, 232, 205); list-style-type: decimal-leading-zero; font-family: courier, monospace; overflow-x: auto; overflow-y: auto; background-position: initial initial; "&gt;&lt;li class="tab0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;package com.sentidoweb; &lt;/code&gt;&lt;/li&gt;&lt;li class="tab0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;import android.app.Activity; &lt;/code&gt;&lt;/li&gt;&lt;li class="tab0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;import android.widget.TextView; &lt;/code&gt;&lt;/li&gt;&lt;li class="tab0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;import android.os.Bundle; &lt;/code&gt;&lt;/li&gt;&lt;li class="tab0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;public class prueba extends Activity { &lt;/code&gt;&lt;/li&gt;&lt;li class="tab0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;  &lt;span class="cmt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(0, 102, 0); "&gt;/** Called when the activity is first created. */&lt;/span&gt; &lt;/code&gt;&lt;/li&gt;&lt;li class="tab0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;  @Override &lt;/code&gt;&lt;/li&gt;&lt;li class="tab0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;  public void onCreate(Bundle icicle) { &lt;/code&gt;&lt;/li&gt;&lt;li class="tab1" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;super.onCreate(icicle); &lt;/code&gt;&lt;/li&gt;&lt;li class="tab1" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;TextView tv = new TextView(this); &lt;/code&gt;&lt;/li&gt;&lt;li class="tab1" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;tv.setText("Sentido Web"); &lt;/code&gt;&lt;/li&gt;&lt;li class="tab1" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;setContentView(tv); &lt;/code&gt;&lt;/li&gt;&lt;li class="tab0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;  } &lt;/code&gt;&lt;/li&gt;&lt;li class="tab0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 3em; text-indent: 7px; line-height: 1.5em; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(238, 238, 238); font-family: 'Trebuchet MS', verdana, arial, sans; list-style-type: decimal; background-position: initial initial; "&gt;&lt;code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(153, 0, 0); "&gt;} &lt;/code&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;He marcado en negrita el código que se ha de modificar, y como veréis no tiene mucha dificultad. El resultado es este:&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;&lt;img alt="android.png" src="http://sentidoweb.com/img/2007/11/android.png" width="250" height="437" class="center" style="padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; border-top-width: 3px; border-right-width: 3px; border-bottom-width: 3px; border-left-width: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(208, 223, 195); border-right-color: rgb(208, 223, 195); border-bottom-color: rgb(208, 223, 195); border-left-color: rgb(208, 223, 195); display: block; text-align: center; " /&gt;&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; "&gt;Como véis el ejemplo se ejecuta en un emulador de Android, si jugáis un poco con este emulador podréis daros cuenta de las posibilidades que ofrece&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-1944212525328921494?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/1944212525328921494/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/guia-rapida-para-desarrollar-en-android.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/1944212525328921494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/1944212525328921494'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/guia-rapida-para-desarrollar-en-android.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-6093488085799966889</id><published>2009-09-18T23:10:00.000-07:00</published><updated>2009-09-18T23:11:42.557-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; "&gt;&lt;h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span class="Apple-style-span"   style="font-size:6;color:#30587C;"&gt;&lt;span class="Apple-style-span" style="font-size: 22px; font-weight: normal;"&gt;GOOGLE MAPS 4.0 PARA ANDROID PROXIMAMENTE&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div class="dateautor" style="text-align: right; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 2px; margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; color: rgb(250, 250, 227); "&gt;&lt;span class="Apple-style-span"  style="color:#454F5A;"&gt;&lt;span class="Apple-style-span" style="font-weight: 300; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separadordateautor" style="width: 482px; height: 14px; background-image: url(http://www.androidsis.com/wp-content/themes/androidsis/img/hrdeltitulo.jpg); overflow-x: hidden; overflow-y: hidden; margin-top: 5px; margin-bottom: 5px; clear: both; "&gt;&lt;/div&gt;&lt;div class="material" style="clear: left; margin-bottom: 20px; padding-top: 0px; padding-right: 5px; padding-bottom: 0px; padding-left: 0px; color: rgb(76, 76, 76); overflow-x: hidden; overflow-y: hidden; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 7px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 19px; color: rgb(102, 102, 102); font-size: 12px; font-weight: lighter; text-align: left; "&gt;&lt;a onclick="javascript:pageTracker._trackPageview('/outgoing/www.androidsis.com/wp-content/uploads/maps-android.png');" href="http://www.androidsis.com/wp-content/uploads/maps-android.png" style="text-decoration: none; font-weight: bold; color: rgb(48, 88, 124); "&gt;&lt;img class="aligncenter size-full wp-image-2195" title="maps-android" src="http://www.androidsis.com/wp-content/uploads/maps-android.png" alt="maps android GOOGLE MAPS 4.0 PARA ANDROID PROXIMAMENTE" width="267" height="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 100px; margin-bottom: 10px; margin-left: 100px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; " /&gt;&lt;/a&gt;Si sois usuarios de la aplicación &lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;Atrackdogs&lt;/strong&gt; igual os habeis dado cuenta de que&lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;&lt;span&gt;&lt;span class="IL_SPAN"&gt;Google Maps&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; tiene próxima &lt;span class="IL_SPAN"&gt;una&lt;/span&gt; actualziación, la 4.0.0. &lt;/span&gt;&lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;&lt;span&gt;&lt;span class="IL_LINK_STYLE" style="position: static !important; text-decoration: underline; background-image: none !important; background-repeat: repeat !important; background-attachment: scroll !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: transparent !important; cursor: pointer !important; display: inline !important; color: rgb(0, 51, 153); padding-bottom: 1px !important; font-size: 12px; font-weight: bold; font-style: normal; font-family: Arial, Helvetica, sans-serif; background-position: 0% 50%; "&gt;Google Maps&lt;/span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;sufrió &lt;span class="IL_SPAN"&gt;una&lt;/span&gt;actualziación no hace mucho tiempo pero los chicos de &lt;/span&gt;&lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;Google&lt;/strong&gt; parecen que no descansan. Según el &lt;a onclick="javascript:pageTracker._trackPageview('/outgoing/googleblog.blogspot.com');" href="http://googleblog.blogspot.com/" target="_blank" style="text-decoration: none; font-weight: bold; color: rgb(48, 88, 124); "&gt;blog oficial de &lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;Google&lt;/strong&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt; están trabajando en añadir &lt;span class="IL_SPAN"&gt;una&lt;/span&gt; nueva capa a Maps con la información del tráfico. Un código de colores nos indicará la cantidad de tráfico existente por &lt;span class="IL_LINK_STYLE" style="position: static !important; text-decoration: underline; background-image: none !important; background-repeat: repeat !important; background-attachment: scroll !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: transparent !important; cursor: pointer !important; display: inline !important; color: rgb(0, 51, 153); padding-bottom: 1px !important; font-size: 12px; font-weight: 300; font-style: normal; font-family: Arial, Helvetica, sans-serif; background-position: 0% 50%; "&gt;una&lt;/span&gt; vía determinada pudiendo así elegir cambiar de dirección o camino hacia otro menos congestionado. En principio parece que ya lo tienen casi listo para las carreteras de Estados Unidos pero claro está lo tratarán de implmentar en &lt;/span&gt;&lt;span class="IL_LINK_STYLE" style="position: static !important; text-decoration: underline; background-image: none !important; background-repeat: repeat !important; background-attachment: scroll !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: transparent !important; cursor: pointer !important; display: inline !important; color: rgb(0, 51, 153); padding-bottom: 1px !important; font-size: 12px; font-weight: 300; font-style: normal; font-family: Arial, Helvetica, sans-serif; background-position: 0% 50%; "&gt;todo el mundo&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 7px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 19px; color: rgb(102, 102, 102); font-size: 12px; font-weight: lighter; "&gt;El funcionamiento en teoría es simple. Cuando conectamos nuestro Maps mandamos nuestra ubicación a los servidores de &lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;Google&lt;/strong&gt;&lt;span&gt; y mientras lo utilizamos, nuestro teléfono mantiene &lt;span class="IL_SPAN"&gt;una&lt;/span&gt; “conversación contínua” con &lt;/span&gt;&lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;Google&lt;/strong&gt; indicándole por donde vamos. Esto mismo pero de cientos o miles de personas hace que &lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;Google&lt;/strong&gt; pueda indicar donde existe más o menos congestión de tráfico y enviarlo a cada usuario de &lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;&lt;span&gt;&lt;span class="IL_SPAN"&gt;Google Maps&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Esto que nos puede facilitar la elección del camino con menos tráfico y por tanto ir ahorrando combustible y tiempo y a la vez hacer &lt;span class="IL_SPAN"&gt;una&lt;/span&gt; conducción más ecológica es lo que se ha venido en llamar el “&lt;/span&gt;&lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;crowdsourcing&lt;/strong&gt;“.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 7px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 19px; color: rgb(102, 102, 102); font-size: 12px; font-weight: lighter; "&gt;Según&lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt; Google&lt;/strong&gt; todos los datos recogidos son completamente anónimos y prevalece la privacidad de los usuarios. Ya veremos si &lt;strong style="color: rgb(67, 67, 67); font-weight: bold; "&gt;Google&lt;/strong&gt; no utiliza el saber nuestra posición para mandarnos publicidad de establecimientos o productos cercanos a donde nos encontremos.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 7px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 19px; color: rgb(102, 102, 102); font-size: 12px; font-weight: lighter; "&gt;¿Os gusta la idea?&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-6093488085799966889?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/6093488085799966889/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/google-maps-4.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/6093488085799966889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/6093488085799966889'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/google-maps-4.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-953458839740285444</id><published>2009-09-18T22:59:00.000-07:00</published><updated>2009-09-18T23:00:14.349-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 15px; "&gt;&lt;h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(244, 113, 33); font: normal normal normal 2em/1.2em 'Century gothic', Arial, Helvetica, sans-serif; "&gt;Encuesta: Como desarrollador ¿Que plataforma para terminales móviles te parece más atractiva?&lt;/h2&gt;&lt;p class="datostop" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(89, 156, 210); font: normal normal normal 1.3em/1.2em Tahoma, Geneva, sans-serif; float: right; clear: both; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="datostop" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(89, 156, 210); font: normal normal normal 1.3em/1.2em Tahoma, Geneva, sans-serif; float: right; clear: both; "&gt;Fecha de publicación: 31/08/2009&lt;/p&gt;&lt;h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(244, 113, 33); font: normal normal bold 1.65em/1.2em 'Century gothic', Arial, Helvetica, sans-serif; clear: both; "&gt;&lt;br /&gt;&lt;/h3&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Tahoma, Geneva, sans-serif; font-size: 17px; line-height: 20px; color: rgb(89, 156, 210); "&gt;Fuente : www.javahispano.org&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:Tahoma, Geneva, sans-serif;font-size:180%;color:#599CD2;"&gt;&lt;span class="Apple-style-span" style="font-size: 17px; line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(244, 113, 33); font: normal normal bold 1.65em/1.2em 'Century gothic', Arial, Helvetica, sans-serif; clear: both; "&gt;Resultados de la encuesta con 630 votos&lt;/h3&gt;&lt;div class="entrada" style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; clear: both; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(89, 156, 210); "&gt;&lt;img width="450" height="250" src="http://www.javahispano.org/polls.grafico_bar.action?h=250&amp;amp;w=450&amp;amp;type=bar&amp;amp;title=&amp;amp;texts=Java%20ME%7CSymbian%7CiPhone%7CBlackBerry%7CAndroid%7CWindows%20Mobile&amp;amp;cols=220%7C41%7C83%7C19%7C217%7C50" alt="31-08-2009" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-953458839740285444?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/953458839740285444/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/encuesta-como-desarrollador-que.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/953458839740285444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/953458839740285444'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/encuesta-como-desarrollador-que.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-6704587649878074243</id><published>2009-09-17T07:58:00.001-07:00</published><updated>2009-09-17T07:59:32.354-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:Helvetica, Arial, sans-serif;font-size:small;"&gt;&lt;h1 class="page_title" style="margin-bottom: 0px; font-size: 22px; font-weight: bold; margin-top: 0px; margin-right: 0px; margin-left: -10px; padding-top: 0.8em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; position: relative; border-top-style: none; background-color: initial; line-height: 28px; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; border-width: initial; border-color: initial; background-position: initial initial; "&gt;¿Qué es Google App Engine?&lt;/h1&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Google App Engine te permite ejecutar tus aplicaciones web en la infraestructura de Google. Las aplicaciones App Engine son fáciles de crear, mantener y actualizar al ir aumentando el tráfico y las necesidades de almacenamiento de datos. Con App Engine, no necesitarás utilizar ningún servidor: sólo tendrás que subir tu aplicación para que tus usuarios puedan empezar a utilizarla.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Puedes proporcionar a tu aplicación tu propio nombre de dominio (como por ejemplo &lt;code style="font-family: monospace; color: rgb(0, 112, 0); font-size: 10pt; "&gt;http://www.example.com/&lt;/code&gt;) a través de &lt;a href="http://www.google.com/a/" style="color: rgb(0, 0, 204); "&gt;Google Apps&lt;/a&gt;. También puedes proporcionar a tu aplicación un nombre gratuito del dominio &lt;code style="font-family: monospace; color: rgb(0, 112, 0); font-size: 10pt; "&gt;appspot.com&lt;/code&gt;. Podrás compartir tu aplicación con todo el mundo o limitar el acceso a los miembros de tu organización.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Google App Engine admite aplicaciones escritas en varios lenguajes de programación. Gracias al entorno de tiempo de ejecución Java de App Engine puedes crear tu aplicación a través de tecnologías Java estándar, que incluyen JVM, servlets Java y el lenguaje de programación Java o cualquier otro lenguaje que utilice un intérprete o compilador basado en JVM como, por ejemplo, JavaScript o Ruby. App Engine también ofrece un entorno de tiempo de ejecución Python dedicado, que incluye un rápido interprete Python y la biblioteca estándar Python. Los entornos de tiempo de ejecución Java y Python se generan para garantizar que tu aplicación se ejecuta de forma rápida, segura y sin interferencias de otras aplicaciones en el sistema.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Con App Engine, sólo pagas lo que utilizas. No existen costes de configuración ni tarifas recurrentes. Los recursos que utiliza tu aplicación, como por ejemplo el almacenamiento y el ancho de banda, se miden por gigabytes y se facturan según competitivas tarifas. Controlas la cantidad máxima de recursos que consume tu aplicación, de modo que siempre permanezcan dentro de tu presupuesto.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Puedes empezar a utilizar App Engine de forma totalmente gratuita. Todas las aplicaciones pueden utilizar hasta 500 MB de almacenamiento y suficiente CPU y ancho de banda como para permitir un servicio eficaz de la aplicación de alrededor de 5 millones de visitas a la página al mes, totalmente gratuitas. Cuando habilitas la facturación para tu aplicación, se incrementan tus límites gratuitos y sólo pagas aquellos recursos que utilices por encima de los niveles gratuitos.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;&lt;span class="Apple-style-span" style="font-size: small; line-height: normal; "&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 id="The_Application_Environment" style="margin-bottom: 0px; font-size: 17px; font-weight: bold; margin-top: 2em; margin-right: 0px; margin-left: -10px; padding-top: 1px; padding-right: 3px; padding-bottom: 1px; padding-left: 3px; position: relative; border-top-width: 1px; border-top-style: solid; border-top-color: rgb(51, 102, 204); background-color: rgb(229, 236, 249); "&gt;El entorno de aplicación&lt;/h2&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Google App Engine permite desarrollar fácilmente aplicaciones que se ejecuten de forma fiable, incluso con pesadas cargas de trabajo y grandes cantidades de datos. App Engine incluye las siguientes funciones:&lt;/p&gt;&lt;ul style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0.5em; margin-right: 0px; margin-bottom: 0px; margin-left: 15px; line-height: 16px; "&gt;&lt;li style="margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;servidor web dinámico, totalmente compatible con las tecnologías web más comunes,&lt;/li&gt;&lt;li style="margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;almacenamiento permanente con funciones de consulta, orden y transacciones,&lt;/li&gt;&lt;li style="margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;escalado automático y balanceo de carga,&lt;/li&gt;&lt;li style="margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;API para autenticar usuarios y enviar correo electrónico a través de las cuentas de Google,&lt;/li&gt;&lt;li style="margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;un completo entorno de desarrollo local que simula Google App Engine en tu equipo,&lt;/li&gt;&lt;li style="margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;tareas programadas para activar eventos en momentos determinados y en intervalos regulares.&lt;/li&gt;&lt;/ul&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Tu aplicación se puede ejecutar en uno de los dos entornos de tiempo de ejecución: el entorno &lt;a href="http://java.sun.com/" style="color: rgb(0, 0, 204); "&gt;Java&lt;/a&gt; y el entorno &lt;a href="http://www.python.org/" style="color: rgb(0, 0, 204); "&gt;Python&lt;/a&gt;. Cada entorno proporciona protocolos estándar y tecnologías comunes para el desarrollo de aplicaciones web.&lt;/p&gt;&lt;h3 style="margin-bottom: 0px; font-size: 17px; margin-top: 1.5em; margin-right: 0px; margin-left: 0px; position: relative; top: 0em; font-weight: bold; "&gt;La zona de pruebas&lt;/h3&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Las aplicaciones se ejecutan en un entorno seguro que proporciona acceso limitado al sistema operativo subyacente. Estas limitaciones permiten a App Engine distribuir solicitudes web de la aplicación en varios servidores e iniciar y detener los servidores según las demandas del tráfico. La zona de pruebas aísla la aplicación en su propio entorno seguro de confianza, totalmente independiente del hardware, el sistema operativo y la ubicación física del servidor web.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Algunos ejemplos de las limitaciones del entorno seguro de la zona de pruebas son:&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;&lt;/p&gt;&lt;ul style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0.5em; margin-right: 0px; margin-bottom: 0px; margin-left: 15px; line-height: 16px; "&gt;&lt;li style="margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Una aplicación sólo podrá acceder a otros equipos de Internet a través de los servicios de correo electrónico y extracción de URL proporcionados. Otros equipos sólo se podrán conectar a la aplicación mediante solicitudes HTTP (o HTTPS) en los puertos estándar.&lt;/li&gt;&lt;li style="margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Una aplicación no podrá escribir en el sistema de archivos. Una aplicación podrá leer archivos, pero sólo aquéllos subidos con el código de la aplicación. La aplicación deberá utilizar el almacén de datos de App Engine, Memcache u otros servicios para todos los datos que permanezcan entre las solicitudes.&lt;/li&gt;&lt;li style="margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;El código de aplicación sólo se ejecuta en respuesta a una solicitud web o a una tarea cron y debe devolver datos de respuesta en un período de 30 segundos en cualquier caso. Un controlador de solicitudes no podrá generar un subproceso ni ejecutar código después de haber enviado la respuesta.&lt;/li&gt;&lt;/ul&gt;&lt;h3 style="margin-bottom: 0px; font-size: 17px; margin-top: 1.5em; margin-right: 0px; margin-left: 0px; position: relative; top: 0em; font-weight: bold; "&gt;El entorno de tiempo de ejecución Java&lt;/h3&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Puedes desarrollar tu aplicación para el entorno de tiempo de ejecución Java a través de herramientas de desarrollo web Java y de estándares del API comunes. Tu aplicación interactúa con el entorno a través del &lt;a href="http://java.sun.com/products/servlet/" style="color: rgb(0, 0, 204); "&gt;estándar Java Servlet&lt;/a&gt; y puede utilizar tecnologías de aplicación web comunes como por ejemplo &lt;a href="http://java.sun.com/products/jsp/" style="color: rgb(0, 0, 204); "&gt;JavaServer Pages&lt;/a&gt;(JSP).&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El entorno de tiempo de ejecución Java utiliza Java 6. El kit de desarrollo de software (SDK) Java de App Engine admite las aplicaciones de desarrollo que utilizan tanto Java 5 como 6.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El entorno incluye la &lt;a href="http://java.sun.com/javase/technologies/index.jsp" style="color: rgb(0, 0, 204); "&gt;plataforma 6 de entorno de tiempo de ejecución Java (JRE) SE&lt;/a&gt; y bibliotecas. Las restricciones del entorno de la zona de pruebas se implementan en JVM. Una aplicación puede utilizar cualquier código de bytes de JVM o función de biblioteca, siempre que no exceda las restricciones de la zona de pruebas. Por ejemplo, si un código de bytes intenta abrir un conector o escribir en un archivo, aparece una excepción de tiempo de ejecución.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Tu aplicación accede a la mayoría de los servicios de App Engine a través de las API estándar de Java. Para el almacén de datos de App Engine, el SDK Java incluye implementaciones de la interfaz de &lt;a href="http://java.sun.com/jdo/index.jsp" style="color: rgb(0, 0, 204); "&gt;Objetos de datos Java&lt;/a&gt; (JDO) y de la interfaz del &lt;a href="http://java.sun.com/developer/technicalArticles/J2EE/jpa/" style="color: rgb(0, 0, 204); "&gt;API de persistencia de Java&lt;/a&gt; (JPA). Tu aplicación puede utilizar &lt;a href="http://java.sun.com/products/javamail/" style="color: rgb(0, 0, 204); "&gt;el API JavaMail&lt;/a&gt; para enviar mensajes de correo electrónico con el servicio de correo electrónico de App Engine. Las API HTTP &lt;code style="font-family: monospace; color: rgb(0, 112, 0); font-size: 10pt; "&gt;java.net&lt;/code&gt; acceden al servicio de extracción de URL de App Engine. App Engine también incluye las API de nivel inferior para sus servicios para implementar adaptadores adicionales o para su uso directo desde la aplicación. Consulta la documentación sobre las API del&lt;a href="http://code.google.com/appengine/docs/java/datastore/" style="color: rgb(0, 0, 204); "&gt;almacén de datos&lt;/a&gt;, &lt;a href="http://code.google.com/appengine/docs/java/memcache/" style="color: rgb(0, 0, 204); "&gt;Memcache&lt;/a&gt;, la &lt;a href="http://code.google.com/appengine/docs/java/urlfetch/" style="color: rgb(0, 0, 204); "&gt;extracción de URL&lt;/a&gt;, el &lt;a href="http://code.google.com/appengine/docs/java/mail/" style="color: rgb(0, 0, 204); "&gt;correo&lt;/a&gt;, las &lt;a href="http://code.google.com/appengine/docs/java/images/" style="color: rgb(0, 0, 204); "&gt;imágenes&lt;/a&gt; y las &lt;a href="http://code.google.com/appengine/docs/java/users/" style="color: rgb(0, 0, 204); "&gt;cuentas de Google&lt;/a&gt;.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Normalmente, los desarrolladores de Java utilizan el lenguaje de programación Java y las API para implementar aplicaciones web para JVM. Gracias al uso de intérpretes o de compiladores compatibles con JVM, también puedes utilizar otros lenguajes para desarrollar aplicaciones web como, por ejemplo, JavaScript, Ruby o Scala.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Para obtener más información sobre el entorno de tiempo de ejecución Java, consulta la sección &lt;a href="http://code.google.com/intl/es/appengine/docs/java/runtime.html" style="color: rgb(0, 0, 204); "&gt;El entorno de tiempo de ejecución Java&lt;/a&gt;.&lt;/p&gt;&lt;h3 style="margin-bottom: 0px; font-size: 17px; margin-top: 1.5em; margin-right: 0px; margin-left: 0px; position: relative; top: 0em; font-weight: bold; "&gt;El entorno de tiempo de ejecución Python&lt;/h3&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Gracias al entorno de tiempo de ejecución Python, puedes implementar tu aplicación a través del lenguaje de programación Python y ejecutarla en un intérprete de Python optimizado. App Engine incluye varias API y herramientas para el desarrollo de aplicaciones web de Python, así como un API de modelado de datos detallados, un framework de aplicaciones web fácil de utilizar y herramientas para administrar y acceder a tus datos de la aplicación. También puedes beneficiarte de una amplia variedad de frameworks y bibliotecas avanzados para el desarrollo de aplicaciones web de Python, como por ejemplo &lt;a href="http://www.djangoproject.com/" style="color: rgb(0, 0, 204); "&gt;Django&lt;/a&gt;.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El entorno de tiempo de ejecución Python utiliza la versión 2.5.2. de Python. Estamos teniendo en cuenta una compatibilidad adicional con Python 3 para futuras versiones.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El entorno Python incluye &lt;a href="http://docs.python.org/lib/lib.html" style="color: rgb(0, 0, 204); "&gt;la biblioteca estándar de Python&lt;/a&gt;. Por supuesto, no todas las funciones de biblioteca se pueden ejecutar en el entorno de la zona de pruebas. Por ejemplo, una llamada a un método que intenta abrir un conector o escribir en un archivo generará una excepción. Para comodidad del usuario, se han inhabilitado varios módulos de la biblioteca estándar cuyas funciones son incompatibles con el entorno de tiempo de ejecución y el código que los importe generará un error.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El código de aplicación escrito para el entorno Python se debe escribir exclusivamente en Python. Las extensiones escritas en lenguaje C no son compatibles.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El entorno Python proporciona varias API Python para servicios de &lt;a href="http://code.google.com/appengine/docs/python/datastore/" style="color: rgb(0, 0, 204); "&gt;almacén de datos&lt;/a&gt;, &lt;a href="http://code.google.com/appengine/docs/python/users/" style="color: rgb(0, 0, 204); "&gt;cuentas de Google&lt;/a&gt;, &lt;a href="http://code.google.com/appengine/docs/python/urlfetch/" style="color: rgb(0, 0, 204); "&gt;extracción de URL&lt;/a&gt; y &lt;a href="http://code.google.com/appengine/docs/python/mail/" style="color: rgb(0, 0, 204); "&gt;correo electrónico&lt;/a&gt;. App Engine también ofrece un sencillo framework para aplicaciones web Python denominado &lt;a href="http://code.google.com/appengine/docs/python/tools/webapp/" style="color: rgb(0, 0, 204); "&gt;webapp&lt;/a&gt; que te permitirá empezar a crear aplicaciones fácilmente.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Puedes subir otras bibliotecas de terceros con tu aplicación, siempre que estén implementadas únicamente en Python y no requieran ningún módulo incompatible de la biblioteca estándar.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Para obtener más información sobre el entorno de tiempo de ejecución Python, consulta la sección &lt;a href="http://code.google.com/intl/es/appengine/docs/python/runtime.html" style="color: rgb(0, 0, 204); "&gt;El entorno de tiempo de ejecución Python&lt;/a&gt;.&lt;/p&gt;&lt;h3 style="margin-bottom: 0px; font-size: 17px; margin-top: 1.5em; margin-right: 0px; margin-left: 0px; position: relative; top: 0em; font-weight: bold; "&gt;El almacén de datos&lt;/h3&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;App Engine proporciona un potente servicio de almacenamiento de datos distribuido que incluye un motor de búsqueda y transacciones. A medida que el servidor web distribuido crece con el tráfico, el almacén de datos distribuido crece con los datos.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El almacén de datos de App Engine no es como una base de datos relacional tradicional. Los objetos de datos, o "entidades", disponen de un tipo y un conjunto de propiedades. Las consultas pueden recuperar entidades de un tipo determinado filtradas y ordenadas según los valores de las propiedades. Los valores de las propiedades pueden ser de cualquiera de los &lt;a href="http://code.google.com/intl/es/appengine/docs/python/datastore/typesandpropertyclasses.html" style="color: rgb(0, 0, 204); "&gt;tipos de valores de propiedades&lt;/a&gt; admitidos.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Las entidades del almacén de datos son carecen de esquema. Tu código de aplicación se encarga de proporcionar y de respetar la estructura de las entidades de datos. Las interfaces JDO/JPA de Java y la interfaz del almacén de datos de Python incluyen características para aplicar y respetar la estructura de tu aplicación. Tu aplicación también puede acceder al almacén de datos de forma directa para aplicar mucho o poco la estructura que necesite.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El almacén de datos es muy &lt;a href="http://en.wikipedia.org/wiki/Consistency_model" style="color: rgb(0, 0, 204); "&gt;consistente&lt;/a&gt; y utiliza el &lt;a href="http://en.wikipedia.org/wiki/Optimistic_concurrency_control" style="color: rgb(0, 0, 204); "&gt;control de concurrencia optimista&lt;/a&gt;. Una entidad se actualizará si se intenta realizar una transacción un número determinado de veces y otros procesos están intentando actualizar la misma entidad al mismo tiempo. Tu aplicación puede ejecutar varias operaciones de almacén de datos en una única transacción, que se ejecutarán con o sin éxito, garantizando así la integridad de tus datos.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El almacén de datos implementa transacciones en su red distribuida mediante "grupos de entidades". Una transacción manipula entidades de un único grupo. Las entidades del mismo grupo se almacenan juntas para ejecutar las transacciones eficazmente. Tu aplicación puede asignar entidades a grupos al crear las entidades.&lt;/p&gt;&lt;h3 style="margin-bottom: 0px; font-size: 17px; margin-top: 1.5em; margin-right: 0px; margin-left: 0px; position: relative; top: 0em; font-weight: bold; "&gt;Cuentas de Google&lt;/h3&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;App Engine admite la integración de una aplicación con Cuentas de Google para la autenticación de los usuarios. Tu aplicación puede permitir a un usuario acceder con una cuenta de Google y tener acceso a la dirección de correo electrónico y el nombre de visualización asociados a la cuenta. Las cuentas de Google permiten que el usuario pueda empezar a utilizar la aplicación de una forma más rápida, ya que no tiene que crear una cuenta nueva. También te ahorran el esfuerzo de implementar un sistema de cuentas de usuario sólo para tu aplicación.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Si estás ejecutando tu aplicación con Google Apps, podrás utilizar las mismas funciones con los miembros de tu organización y las cuentas de Google Apps.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El API de usuarios también puede indicar a la aplicación si el usuario actual es un administrador registrado de la aplicación. Esto facilitará la implementación de áreas exclusivas de administradores en tu sitio.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Para obtener más información sobre la integración con las cuentas de Google, consulta &lt;a href="http://code.google.com/appengine/docs/python/users/" style="color: rgb(0, 0, 204); "&gt;la referencia del API de usuarios&lt;/a&gt;.&lt;/p&gt;&lt;h3 style="margin-bottom: 0px; font-size: 17px; margin-top: 1.5em; margin-right: 0px; margin-left: 0px; position: relative; top: 0em; font-weight: bold; "&gt;Servicios de App Engine&lt;/h3&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;App Engine proporciona una gran variedad de servicios que te permitirán realizar operaciones comunes al gestionar tu aplicación. Se incluyen las siguientes API para acceder a estos servicios:&lt;/p&gt;&lt;h4 style="margin-bottom: 0px; font-size: 14px; font-weight: bold; margin-top: 0.7em; margin-right: 0px; margin-left: 0px; position: relative; top: 0.4em; z-index: 5; "&gt;Extracción de URL&lt;/h4&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Las aplicaciones pueden acceder a recursos en Internet, como servicios web u otros datos, mediante el servicio de extracción de URL de App Engine. El servicio de extracción de URL recupera recursos web mediante la misma infraestructura de alta velocidad de Google que recupera páginas web para muchos otros productos de Google.&lt;/p&gt;&lt;h4 style="margin-bottom: 0px; font-size: 14px; font-weight: bold; margin-top: 0.7em; margin-right: 0px; margin-left: 0px; position: relative; top: 0.4em; z-index: 5; "&gt;Correo&lt;/h4&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Las aplicaciones pueden enviar mensajes de correo electrónico mediante el servicio de correo de App Engine. El servicio de correo utiliza la infraestructura de Google para enviar mensajes de correo electrónico.&lt;/p&gt;&lt;h4 style="margin-bottom: 0px; font-size: 14px; font-weight: bold; margin-top: 0.7em; margin-right: 0px; margin-left: 0px; position: relative; top: 0.4em; z-index: 5; "&gt;Memcache&lt;/h4&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El servicio Memcache proporciona a tu aplicación el servicio de memoria caché de valores-claves de alto rendimiento accesible desde varias instancias de tu aplicación. Memcache resulta útil para los datos que no necesitan las funciones de persistencia y transacciones del almacén de datos, como los datos temporales o los datos copiados del almacén de datos en la caché para un acceso a gran velocidad.&lt;/p&gt;&lt;h4 style="margin-bottom: 0px; font-size: 14px; font-weight: bold; margin-top: 0.7em; margin-right: 0px; margin-left: 0px; position: relative; top: 0.4em; z-index: 5; "&gt;Manipulación de imágenes&lt;/h4&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El servicio de imágenes permite a tu aplicación manipular imágenes. Con esta API, podrás recortar, rotar o ajustar el tamaño de imágenes en formato JPEG o PNG.&lt;/p&gt;&lt;h3 style="margin-bottom: 0px; font-size: 17px; margin-top: 1.5em; margin-right: 0px; margin-left: 0px; position: relative; top: 0em; font-weight: bold; "&gt;Tareas programadas&lt;/h3&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El servicio Cron te permite programar tareas que se van a ejecutar en intervalos regulares. Para obtener más información, consulta la documentación sobre el servicio Cron de &lt;a href="http://code.google.com/intl/es/appengine/docs/python/config/cron.html" style="color: rgb(0, 0, 204); "&gt;Python&lt;/a&gt; o de &lt;a href="http://code.google.com/intl/es/appengine/docs/java/config/cron.html" style="color: rgb(0, 0, 204); "&gt;Java&lt;/a&gt;.&lt;/p&gt;&lt;h2 style="margin-bottom: 0px; font-size: 17px; font-weight: bold; margin-top: 2em; margin-right: 0px; margin-left: -10px; padding-top: 1px; padding-right: 3px; padding-bottom: 1px; padding-left: 3px; position: relative; border-top-width: 1px; border-top-style: solid; border-top-color: rgb(51, 102, 204); background-color: rgb(229, 236, 249); "&gt;Flujo de trabajo de desarrollo&lt;/h2&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;&lt;a href="http://code.google.com/intl/es/appengine/downloads.html" style="color: rgb(0, 0, 204); "&gt;Los kits de desarrollo de software de App Engine&lt;/a&gt; (SDK) para Java y Python incluyen una aplicación de servidor web que emula todos los servicios de App Engine de tu equipo local. Cada SDK incluye todas las API y bibliotecas disponibles en App Engine. El servidor web también simula el entorno seguro de la zona de pruebas, incluyendo las verificaciones con respecto a los intentos de acceso a los recursos del sistema inhabilitados en el entorno de tiempo de ejecución de App Engine.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Cada SDK también incluye una herramienta para subir tu aplicación a App Engine. Una vez que hayas creado el código de tu aplicación, los archivos estáticos y los archivos de configuración, ejecuta la herramienta para subir los datos. La herramienta te pedirá que introduzcas tu dirección de correo electrónico y contraseña de Google.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Cuando crees una nueva compilación importante de una aplicación que ya se esté ejecutando en App Engine, podrás subirla como una nueva versión. La antigua versión seguirá disponible para los usuarios hasta que cambies a la nueva versión. Puedes probar la nueva versión en App Engine mientras aún se esté ejecutando la antigua.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El SDK Java se ejecuta en cualquier plataforma con Java 5 o Java 6. El SDK está disponible en forma de archivo Zip. Si utilizas el entorno de desarrollo Eclipse, puedes utilizar el &lt;a href="http://code.google.com/intl/es/appengine/docs/java/tools/eclipse.html" style="color: rgb(0, 0, 204); "&gt;complemento de Google para Eclipse&lt;/a&gt; para crear, probar y subir aplicaciones de App Engine. El SDK también incluye herramientas de línea de comandos para ejecutar el servidor de desarrollo y subir tu aplicación.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;El SDK Python se implementa exclusivamente en Python y se ejecuta en cualquier plataforma que disponga de Python 2.5, como Windows, Mac OS X y Linux. El SDK está disponible en forma de archivo Zip y los instaladores están disponibles para Windows y Mac OS X.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;&lt;a href="http://code.google.com/intl/es/appengine/docs/theadminconsole.html" style="color: rgb(0, 0, 204); "&gt;La consola de administración&lt;/a&gt; es una interfaz basada en web que permite administrar las aplicaciones que ejecutas en App Engine. Puedes utilizarla para crear nuevas aplicaciones, configurar nombres de dominio, cambiar la versión disponible de tu aplicación, examinar los registros de error y acceso y buscar el almacén de datos de una aplicación.&lt;/p&gt;&lt;h2 style="margin-bottom: 0px; font-size: 17px; font-weight: bold; margin-top: 2em; margin-right: 0px; margin-left: -10px; padding-top: 1px; padding-right: 3px; padding-bottom: 1px; padding-left: 3px; position: relative; border-top-width: 1px; border-top-style: solid; border-top-color: rgb(51, 102, 204); background-color: rgb(229, 236, 249); "&gt;Cuotas y límites&lt;/h2&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Crear una aplicación en App Engine no sólo resulta fácil. ¡Además es gratis! Puedes crear una cuenta y publicar una aplicación que la gente podrá utilizar inmediatamente sin ningún coste ni obligación. Una aplicación de una cuenta gratuita dispone de hasta 500 MB de espacio y admite hasta 5 millones de visitas mensuales. Cuando lo desees, puedes habilitar la facturación, establecer un presupuesto diario máximo y asignar tu presupuesto para cada recurso de acuerdo con tus necesidades.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Puedes registrar hasta 10 aplicaciones por cuenta de desarrollador.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Cada aplicación asigna recursos dentro de límites o "cuotas". Una cuota determina la cantidad que una aplicación puede utilizar un recurso concreto durante un día del calendario. En un futuro próximo, podrás ajustar alguna de estas cuotas mediante la adquisición de recursos adicionales.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Algunas funciones imponen límites no relacionados con cuotas para proteger la estabilidad del sistema. Por ejemplo, cuando una aplicación se ejecuta para atender una solicitud web, debe emitir una respuesta en 30 segundos. Si la aplicación tarda demasiado, se finaliza el proceso y el servidor devuelve un código de error al usuario. El tiempo de espera de la solicitud es dinámico y se puede reducir si un controlador de solicitudes consume el tiempo de espera con frecuencia para conservar recursos.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Otro ejemplo de un límite de servicio es el número de resultados devuelto por una consulta. Una consulta puede devolver como máximo 1.000 resultados. Las consultas que deberían devolver más resultados sólo devuelven el máximo. En este caso, no es probable que una solicitud que realiza este tipo de consulta devuelva una solicitud antes de agotar el tiempo de espera, pero el límite se mantendrá para conservar los recursos del almacén de datos.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Los intentos de socavar o abusar de las cuotas, como utilizar aplicaciones en varias cuentas que trabajen conjuntamente, infringen las &lt;a href="http://code.google.com/intl/es/appengine/terms.html" style="color: rgb(0, 0, 204); "&gt;Condiciones del servicio&lt;/a&gt; y podrían ser motivo de la inhabilitación o el cierre de las cuentas.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Para ver una lista de cuotas y una explicación acerca del sistema de cuotas, incluyendo las cuotas que pueden verse incrementadas mediante la habilitación de la facturación, consulta la sección &lt;a href="http://code.google.com/intl/es/appengine/docs/quotas.html" style="color: rgb(0, 0, 204); "&gt;Cuotas&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-6704587649878074243?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/6704587649878074243/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/que-es-google-app-engine-google-app.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/6704587649878074243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/6704587649878074243'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/que-es-google-app-engine-google-app.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-6926750043117393942</id><published>2009-09-16T23:30:00.000-07:00</published><updated>2009-09-16T23:31:29.396-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span" style="font-family: verdana, arial, helvetica, sans-serif; font-size: 13px; color: rgb(51, 51, 51); -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;iPhone vs Android&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Prácticamente de la noche a la mañana, todo el desastre que era el desarrollar para plataformas móviles, no solo aparenta haberse ordenado, sino que además polarizado en dos plataformas: La plataforma iPhone de Apple, y la plataforma Android de la OHA (Open Handset Alliance) liderado por Google.&lt;br /&gt;&lt;br /&gt;Hasta este momento, yo he sido uno de los que se ha mostrado renuente a desarrollar aplicaciones para plataformas móviles, pues las opciones que tenía eran estas:&lt;br /&gt;&lt;br /&gt;- WAP: Una tecnología de páginas web para dispositivos móviles, pero ultra-limitado. Es como desarrollar en HTML para cavernícolas. Aun me sorprendo de la gente que evangeliza esta tecnología que obviamente será dejada en el olvido muy pronto. La ventaja de WAP es que el código en el servidor puede ser escrito en cualquier lenguaje y en cualquier plataforma, pero la experiencia del interfaz del usuario es simplemente abismal y arcaica.&lt;br /&gt;&lt;br /&gt;- Windows Mobile: Hay que admitir que es este es uno de los &lt;i&gt;frameworks &lt;/i&gt;mas completos y potentes en el mercado, pero en mi opinión es una simple extensión del paradigma de Windows a la palma de la mano, lo cual creo es el camino incorrecto a seguir. No es que Windows Mobile sea malo o no, sino que su paradigma de cientos de menús y ventanas simplemente no es eficiente en un entorno portátil, y el hecho de que el iPhone haya sido tan exitoso con primeros usuarios es testamento de que hay mejores paradigmas para hacer las cosas.&lt;br /&gt;&lt;br /&gt;- RIM, Nokia, Palm, SonyEricsson, Symbian. Todos estos ofrecen tecnología propietarias, y sin un rumbo fijo en el mercado. Desarrollar para estas plataformas es un peligro a largo plazo.&lt;br /&gt;&lt;br /&gt;- J2ME (Java 2 Micro Edition): Esta plataforma hasta el momento ha sido la mejor opción para desarrolladores, pues es la que menos aísla a los programadores de los miles de distintos celulares y sus peculiaridades. Es esta la razón por la cual hasta el momento ha sido la plataforma dominante en cuanto a desarrollo de aplicaciones, en particular juegos sencillos. Sin embargo, la capacidad de programar de manera genérica evita por lo general que tengas acceso a tecnologías avanzadas en celulares de última generación que aun no son soportadas en la máquina virtual de Java.&lt;br /&gt;&lt;br /&gt;El los últimos meses sin embargo, se ha tornado claro que la gran batalla va a ser librada entre dos nuevos contendientes: El iPhone y Android.&lt;br /&gt;&lt;br /&gt;Por un lado tenemos al iPhone, el cual uno podría debatir que se ha convertido en el celular inteligente mas popular del mundo, así como el de mayor crecimiento. Su elegante interfaz le ha abierto los ojos no solo al público, sino que a la comunidad de ingenieros de software, quienes ya han creado centenares de aplicaciones nativas y miles de aplicaciones web.&lt;br /&gt;&lt;br /&gt;Por el otro lado tenemos al nuevo chico del vecindario, Android, una plataforma que planea ofrecer no solo lo mejor de las tecnologías propietarias, sino que hacerlo de una manera totalmente abierta.&lt;br /&gt;&lt;br /&gt;Analicemos ahora los componentes básicos de ambas plataformas y veamos que es lo que tenemos...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Proveedor de la Tecnología&lt;/b&gt;&lt;br /&gt;El iPhone es 100% Apple, quien lo fabrica y vende. Esto hace que sea bien fácil crear aplicaciones para el iPhone ya que puedes estar seguro que tus programas funcionarán con cualquier modelo del iPhone, ya que son todos virtualmente idénticos.&lt;br /&gt;&lt;br /&gt;Android, por otro lado, es un conjunto de especificaciones y código de referencia y no un producto en sí, por lo que cualquiera puede desarrollar un celular inteligente con tecnología Android, lo que significa el riesgo en un futuro de que una aplicación no funcione exactamente igual entre un celular y otro. Sin embargo, aparenta que la OHA y Google han pensado bien esto y nos aseguran que ese no debería ser el caso, aunque esto solo lo sabremos en la práctica cuando tengamos celulares con los cuales comparar.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sistema Operativo&lt;/b&gt;&lt;br /&gt;Apple utiliza el mismísimo corazón del sistema operativo OS X que utiliza en sus Macs de escritorio y portátiles, lo que lo hace no solo bien estable, sino que bastante potente. En el iPhone el sistema operativo es totalmente cerrado y controlado solo por Apple.&lt;br /&gt;&lt;br /&gt;Android utiliza a Linux como su sistema operativo base, y a Java como su punto de acceso con APIs, lo que es una excelente combinación, ya que provee la estabilidad y flexibilidad de Linux, con la elegancia y facilidad de programación de Java.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lenguaje de Programación&lt;/b&gt;&lt;br /&gt;iPhone es programado con &lt;i&gt;Objective C&lt;/i&gt;, un lenguaje tipo C, orientado a objetos, cuya elegancia es comparable a la de Java. El nuevo SDK permite acceso a los APIs del sistema operativo, pero no a modificar el sistema operativo mismo.&lt;br /&gt;&lt;br /&gt;Android es programado en Java, pero dependiendo del proveedor, es posible programar directamente en C o hasta en Assembly, pero no es recomendado. El proveedor (es decir, el que fabrique un celular Android) tiene acceso completo al sistema operativo y puede no solo crear&lt;i&gt;drivers &lt;/i&gt;compatibles con el API de Android, sino que hasta nueva funcionalidad si lo desea.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Interfaz de Usuario&lt;/b&gt;&lt;br /&gt;Hasta el momento, el interfaz nativo del iPhone aparenta ser el mas elegante e intuitivo. Este se programa con una versión multi-toque de Cocoa (el módulo de interfaz gráfico de OS X) llamado Cocoa Touch con Objective C. En cuanto a aplicaciones tipo web, se utiliza HTML con técnicas estándares de AJAX.&lt;br /&gt;&lt;br /&gt;En cuanto a Android, para aplicaciones nativas se utilizan componentes nativos que exponen sus APIs a Java, y el grado de complejidad es similar al del iPhone. En cuanto a aplicaciones web, aparte de soportar HTML y AJAX, pueden estar seguros que debido a su arquitectura abierta que pronto podremos también contar con Google Gears, lo que significa aplicaciones web que se pueden utilizar de manera desconectada del Internet, lo que es una gran ventaja.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Navegador de Internet&lt;/b&gt;&lt;br /&gt;El iPhone utiliza una versión especial del mismo Safari que se utiliza en el OS X de las Mac, y es bien asombroso en su funcionamiento y renderizador visual. Sin ni siquiera la menor duda es el mejor navegador de Internet en una plataforma móvil en estos momentos.&lt;br /&gt;&lt;br /&gt;En cuanto a Android, sucede que utiliza el WebKit, que aunque pocos lo sepan, es el motor interno de renderización en el cual está basado Safari en el iPhone, por lo que pueden esperar una experiencia similar en el despliegue de páginas web. En android, sin embargo, será posible tener acceso en un futuro a páginas con objetos Flash y Java, debido a la arquitectura abierta de Android, así como a navegadores alternativos como Firefox u Opera.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Librerias de APIs&lt;/b&gt;&lt;br /&gt;Ambas plataformas ofrecen un juego de librerías de APIs bastante completo, sin embargo en Android es posible tener acceso mas bajo al sistema operativo, así como a dispositivos externos conectados por puertos de expansión de todo tipo.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Restricciones&lt;/b&gt;&lt;br /&gt;En el iPhone todas las aplicaciones se descargarán por el App Store de Apple, y ya que Apple controlará esta tienda por Internet, hay muchas restricciones que tendrá. Por ejemplo, no se permitirán aplicaciones de VoIP (telefonía por Internet) sobre redes celulares, sino que solo sobre redes WiFi, lo que significa adiós a la utilidad de Skype. Tampoco se permitirá aplicaciones que interpreten código (es decir, adiós a navegadores que compitan con Safari, y a programas que utilicen Javascript o que descarguen objetos ejecutables en demanda, entre otras cosas).&lt;br /&gt;&lt;br /&gt;En Android, ninguna de estas restricciones aplican, y al contrario, toda la plataforma fue diseñada con amarres que permite que uno defina un módulo por otro (como puede ser, declarar un navegador de Internet alternativo como el preferido sobre el que viene instalado).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Facilidad de Uso&lt;/b&gt;&lt;br /&gt;El iPhone ofrece una experiencia de fácil uso sin paralelo en el mercado, pues ya que Apple controla todo, hay para todo lo que quieras hacer una sola manera de hacer cualquier cosa. Eso significa que es muy fácil sincronizar tu iPhone a tu PC, o comprar canciones, videos y aplicaciones por Internet.&lt;br /&gt;&lt;br /&gt;Android, por otro lado, no especifica cómo se deban hacer cosas básicas como sincronizar datos o obtener otros módulos o media por Internet, por lo que dependerá del proveedor ofrecer una experiencia placentera, y como ya sabemos, pocos hacen un trabajo cercano al que hace Apple. Sin embargo, esperen que eventualmente surjan maneras de hacer tales cosas que se conviertan en estándar por defecto (como lo hizo Installer.app en el iPhones desbloqueados), pero para eso falta un tiempo y no hay garantías.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Rapidez y ventajas de desarrollo&lt;/b&gt;&lt;br /&gt;El iPhone ofrece un SDK que es asombroso, que incluye un simulador, un debugueador y diagnosticador remoto, y un creador de interfaces gráficos. Su gran limitante: Requiere una Mac con OS X para desarrollar. Sin embargo, es mas fácil utilizar estas herramientas que en el caso de Android.&lt;br /&gt;&lt;br /&gt;Android por otro lado, ofrece un SDK que es mayoritariamente dependiente de un IDE externo como Eclipse. Sin embargo, ofrece un excelente simulador y tiene interfaces para debugear remotamente. Además funciona en varias plataformas. Por ahora su limitante es que no ofrece una manera gráfica de crear interfaces de usuario, aunque se espera que terceros ofrezcan tales herramientas.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Costos de desarrollo&lt;/b&gt;&lt;br /&gt;En el iPhone el SDK es gratuito, pero si quieres publicar aplicaciones para el iPhone en el AppStore, el costo es US$100 dólares anuales. Así mismo, si no tienes una Mac, tienes que considerar el costo de una Mac para desarrollar.&lt;br /&gt;&lt;br /&gt;El SDK de Android es totalmente gratuito y sin restricciones en cualquier plataforma.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Soporte para desarrolladores&lt;/b&gt;&lt;br /&gt;Apple será quien dará el soporte primario tanto al iPhone como a las herramientas de desarrollo y la documentación, aunque se espera que surjan portales de terceros que formen comunidades de programadores.&lt;br /&gt;&lt;br /&gt;En cuanto a Android, Google, el OHA y la misma comunidad serán los que provean todos estos servicios de soporte, y sin duda surgirán empresas que ofrecerán sus servicios comerciales equivalentes a los de Apple, así como comunidades de programadores en portales públicos por Internet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Disponibilidad de Software de terceros&lt;/b&gt;&lt;br /&gt;El iPhone disfruta de una buena selección de software por la comunidad de hackers que han desbloqueado al iPhone, y pueden estar seguros que muchas de esas aplicaciones saldrán en el oficial App Store en Junio junto con el firmware 2.0, por lo que el iPhone tiene un buen futuro como una plataforma sólida con una saludable selección de programas. Además, Apple se ha esforzado en invitar a muchas empresas comerciales para que creen programas para el iPhone, y muchas han respondido favorablemente, como son EA (Electronic Arts), SEGA, SalesForce, etc. Según Apple, en los primeros 4 días de poner el SDK en Internet, la descargaron unas 100,000 veces.&lt;br /&gt;&lt;br /&gt;Android, por su parte, también aparenta que tendrá una buena selección de software cuando salga al mercado, en particular debido a lo sencillo que ha resultado programar para la plataforma con el SDK beta de Android. Sin embargo, aun no sabemos de los planes secretos de empresas comerciales para esta plataforma, aunque pueden estar seguros que muchos tienen a Android en sus miras, y es posible que veamos anuncios al respecto cuando empiecen a surgir los primeros modelos de celulares inteligentes con Android a fin de año. Además, es muy posible que la comunidad del Software Libre apoye mas a Android que al iPhone, debido a su naturaleza abierta. Según Google, a la fecha el SDK de Android se ha descargado mas de 750,000 veces desde que se anunció oficialmente hace un par de meses.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Futuro y garantía de inversión a largo plazo&lt;/b&gt;&lt;br /&gt;Con el iPhone el futuro está bien asegurado, pues Apple planea tener al iPhone soportado por un buen tiempo, y el hecho de que ha sido un éxito de ventas y aceptación tan sensacional significa que estamos en una sociedad a largo plazo con el iPhone.&lt;br /&gt;&lt;br /&gt;En cuanto a Android, aun no podremos comprar celulares Android hasta finales de este año o inicios del próximo, por lo que habría que esperar a ver su aceptación por el público. Sin embargo, el hecho de que Google esté respaldando a Android con todo lo que tiene, y que varias de las empresas fabricantes de celulares del mundo planea soportar la plataforma, aparenta significar que Android tiene un buen futuro por delante, pero no podemos cegarnos y hay que aceptar que el iPhone le lleva una muy buena delantera.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Potenciales Clientes de Aplicaciones&lt;/b&gt;&lt;br /&gt;Ya existen mas de 4 millones de usuarios del iPhone, y para cuando salgan los primeros dispositivos de Android al mercado es muy posible que ya existan 10 millones de iPhones en el mundo, por lo que al menos al corto plazo es mucho mas rentable ofrecer software para la plataforma iPhone.&lt;br /&gt;&lt;br /&gt;Sin embargo, debido a que Android será ofertado por muchísimos mas proveedores que el iPhone, y en mas mercados, es posible que Android alcance al iPhone en ventas en un par de años, y después hasta lo sobrepase.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Aplicaciones Especializadas&lt;/b&gt;&lt;br /&gt;Si deseas crear aplicaciones que no son tradicionales, el iPhone es limitado a solo las capacidades que Apple te ofrece en sus APIs, pues no tienes acceso (al menos por el momento) ni siquiera al puerto de expansión del iPhone (aunque con ingenuidad nos podemos imaginar integrar equipos externos via WiFi o quizás Bluetooth).&lt;br /&gt;&lt;br /&gt;Si lo que deseas es crear aplicaciones especializadas, como puede ser integrar lectores de código de barra y RFID, la mejor opción es claramente Android, ya que permite integrarse con todo, de una manera totalmente abierta. Si no existe algo, lo creas tu mismo y lo integras. Es posible que debido a esto Android sea mas adoptado que el iPhone en aplicaciones industriales.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Facilidades nativas&lt;/b&gt;&lt;br /&gt;Todo iPhone, como muchos saben, viene con ciertas particularidades asombrosas, como son un acelerómetro, gráficos en 3D, un sensor de proximidad, un sensor de luz ambiental, una pantalla fenomenal, y un sistema multi-toque para interactuar.&lt;br /&gt;&lt;br /&gt;Por el otro lado, Android tiene soporte para todas estas tecnología popularizadas por el iPhone, pero no son obligatorias a ser implementadas en todos los celulares Android. Esto significa que los programadores no deben contar con que todo dispositivo tenga estas facilidades, aunque sí tienen manera de saber cuando no están presentes, y de aceptar maneras alternativas de interacción. Esto, aunque puede ser una restricción, también significa que a largo plazo Android podría soportar mas tecnologías que el iPhone, como puede ser soporte nativo para GPS.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;¿Qué significa todo esto?&lt;/b&gt;&lt;br /&gt;Por si no lo han notado aun al leer todo lo anterior, no es fácil elegir una plataforma sobre otra en estos momentos, pues es muy posible que ambas triunfen a largo plazo. A corto plazo si deseas hacer dinero vendiendo aplicaciones, la opción es clara con el iPhone, el cual ya tiene millones de potenciales clientes a los cuales le puedes vender tus creaciones.&lt;br /&gt;&lt;br /&gt;Si por otro lado tienes una idea revolucionaria que está limitada por la restricciones de Apple con el iPhone, entonces Android es tu mejor opción.&lt;br /&gt;&lt;br /&gt;Para cualquier otro uso, por ahora es mejor considerar ambas plataformas. Una opción interesante para soportar a ambas plataformas se hará evidente muy pronto (en Junio posiblemente) cuando Sun termine de implementar a Java para el iPhone. Sin embargo aun hay dudas si las restricciones legales que Apple ha impuesto en el iPhone permitan que Java se implemente en ese dispositivo, pero de ser posible, eso significaría que con un poco de organización sería posible crear programas que funcionen en ambas plataformas, siempre y cuando aísles el código nativo de cada plataforma en librerías de funciones que se compilen para cada plataforma en particular.&lt;br /&gt;&lt;br /&gt;Esto también se haría mas fácil de lo imaginado ya que según Sun, la implementación de Java para el iPhone tomará buena ventaja de sus particularidades nativas (como podría ser el acelerómetro, gráficos 3D, etc). Pero como toda nueva tecnología, hay que esperar y ver para probar lo práctico de todo esto.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ahora unas últimas palabras de reflexión...&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Mucho dirán que no deberíamos soportar a Apple y su iPhone debido a que lo único que busca es mantener control absoluto de la plataforma, manteniéndola cerrada y siguiendo sus reglas. Sin embargo, hay que entender que a diferencia de muchas otras empresas que crean tecnologías cerradas, Apple lo hace con una elegancia y utilidad tal, que para una gran parte de los usuarios simplemente no les importa que la plataforma sea cerrada o no.&lt;br /&gt;&lt;br /&gt;Es como si uno viviera en una cárcel, en donde siempre y cuando uno siga las reglas, a uno lo traten como a un rey, ofreciéndole a uno lo mejor de lo mejor, televisores de gran tamaño, lujosos automóviles, casas hermosas y elegantes, y la mejor educación posible. La única restricción es que no puedes salir de la cárcel, pero si estás feliz con todas las comodidades que te ofrecen, es muy posible que muchos decidan quedarse, y eso es precisamente lo que ocurre con el iPhone.&lt;br /&gt;&lt;br /&gt;Por el otro lado, Android te ofrece toda la garantía de libertad del mundo, pero a cambio de que trabajes para poder tomar ventaja de esa libertad. Es muy parecido a la opción de la píldora roja o azul que Morfeo le hizo a Neo en la película The Matrix, y no crean que filosóficamente una opción sea mejor que otra, pues influye mucho el punto de vista.&lt;br /&gt;&lt;br /&gt;Yo particularmente prefiero la libertad de Android, pero tampoco puedo negar la elegancia, facilidad y utilidad que Apple me ofrece en el iPhone, pero creo que Apple debe tener mucho cuidado con tratar de mantener el iPhone muy controlado, pues de ser así se arriesga a que la industria deje atrás al iPhone, de la misma manera que hace un par de décadas dejó atrás a la Mac en favor de la libertad que ofrecía Windows en ese entonces (y los resultados se hicieron evidentes).&lt;br /&gt;&lt;br /&gt;Y noten que al final ni Apple ni Google serán los que ganarán mas con esta guerra que se avecina, sino que nosotros, los consumidores, que seremos beneficiados por los avances que ambas plataformas tratarán de implementar en cada nueva generación de dispositivos para ganarse nuestras mentes, corazones y billetera&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-6926750043117393942?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/6926750043117393942/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/iphone-vs-android-practicamente-de-la.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/6926750043117393942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/6926750043117393942'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/iphone-vs-android-practicamente-de-la.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-2522216341700344762</id><published>2009-09-16T23:27:00.000-07:00</published><updated>2009-09-16T23:32:03.558-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span"   style="  color: rgb(89, 89, 89); line-height: 20px; font-family:Arial, Helvetica, sans-serif;font-size:12px;"&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;span class="Apple-style-span"   style="font-family:'Trebuchet MS', Arial, Helvetica, sans-serif;color:#303030;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Hello World: Windows Mobile vs Symbian vs Android vs Iphone vs J2ME&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;Hoy he recibido un mail muy interesante con cinco ejemplo distintos para cinco plataformas distintas, de como hacer el típico “Hello World” u “&lt;a href="http://es.wikipedia.org/wiki/Hola_Mundo" target="_blank" style="color: rgb(0, 114, 188); text-decoration: none; "&gt;Hola Mundo&lt;/a&gt;“. Para el que no sepa de que va esto, un programa “Hola Mundo” es el primer programa que suele hacerse en un lenguaje cualquiera como primer y más sencillo ejemplo.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;Lo que tienen en común estos ejemplo es que los cinco &lt;strong style="color: rgb(0, 0, 0); "&gt;hacen lo mismo&lt;/strong&gt; y los cinco &lt;strong style="color: rgb(0, 0, 0); "&gt;son para dispositivos móviles: Symbian, Android, Iphone, J2ME y Windows Mobile. &lt;/strong&gt;Este punto es el más interesante ya que nos puede dar una idea de lo compleja que puede ser cada una de las distintas plataformas. Ahora entremos en detalles.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;strong style="color: rgb(0, 0, 0); "&gt;Ejemplo “Hello World” para Symbian:&lt;/strong&gt;&lt;/p&gt;&lt;blockquote style="margin-top: 15px; margin-right: 30px; margin-bottom: 10px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 20px; background-image: url(http://www.polimalo.com/wp-content/themes/Grey100/images/blockquote_bg.gif); background-repeat: repeat-y; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;code&gt;// HelloWorld.cpp&lt;br /&gt;//&lt;br /&gt;// Copyright (c) 2000 Symbian Ltd. All rights reserved.&lt;br /&gt;#include "CommonFramework.h"&lt;br /&gt;// do the example&lt;br /&gt;LOCAL_C void doExampleL()&lt;br /&gt;{&lt;br /&gt;_LIT(KHelloWorldText,"Hello world!\n");&lt;br /&gt;console-&gt;Printf(KHelloWorldText);&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;code&gt;Tambien necesitaremos el archivo HelloWorld.mmp con lo siguiente:&lt;/code&gt;&lt;/p&gt;&lt;blockquote style="margin-top: 15px; margin-right: 30px; margin-bottom: 10px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 20px; background-image: url(http://www.polimalo.com/wp-content/themes/Grey100/images/blockquote_bg.gif); background-repeat: repeat-y; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;code&gt;// HelloWorld.mmp&lt;br /&gt;//&lt;br /&gt;// Copyright (c) 2000 Symbian Ltd. All rights reserved.&lt;br /&gt;//&lt;br /&gt;// using relative paths for sourcepath and user includes&lt;br /&gt;//&lt;br /&gt;TARGET HelloWorld.exe&lt;br /&gt;TARGETTYPE exe&lt;br /&gt;UID 0&lt;br /&gt;//&lt;br /&gt;SOURCEPATH .&lt;br /&gt;SOURCE HelloWorld.cpp&lt;br /&gt;//&lt;br /&gt;USERINCLUDE .&lt;br /&gt;USERINCLUDE ..\CommonFramework&lt;br /&gt;SYSTEMINCLUDE Epoc32include&lt;br /&gt;//&lt;br /&gt;LIBRARY euser.lib&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;Y finalmente el archivo bld.inf:&lt;/p&gt;&lt;blockquote style="margin-top: 15px; margin-right: 30px; margin-bottom: 10px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 20px; background-image: url(http://www.polimalo.com/wp-content/themes/Grey100/images/blockquote_bg.gif); background-repeat: repeat-y; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;code&gt;// BLD.INF&lt;br /&gt;// Component description file&lt;br /&gt;//&lt;br /&gt;// Copyright (c) 2000 Symbian Ltd. All rights reserved.&lt;br /&gt;PRJ_MMPFILES&lt;br /&gt;//only one project&lt;br /&gt;HelloWorld.mmp&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;br /&gt;&lt;strong style="color: rgb(0, 0, 0); "&gt;Ejemplo “Hello World” para Iphone SDK:&lt;/strong&gt;&lt;br /&gt;Lo primero que necesitaremos es crear un proyecto XCode llamada “HelloWorld”. No necesitaremos modificar los archivos main.m y main.h. Pero sí los archivos helloworldAppDelegate.m y helloworld.AppDeleage.h.&lt;/p&gt;&lt;blockquote style="margin-top: 15px; margin-right: 30px; margin-bottom: 10px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 20px; background-image: url(http://www.polimalo.com/wp-content/themes/Grey100/images/blockquote_bg.gif); background-repeat: repeat-y; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;El archivo header.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;code&gt;    1 //&lt;br /&gt;   2 //  helloworldAppDelegate.h&lt;br /&gt;   3 //  helloworld&lt;br /&gt;   4 //&lt;br /&gt;   5 //&lt;br /&gt;   6 //&lt;br /&gt;   7&lt;br /&gt;   8 #import &lt;uikit/uikit.h&gt;&lt;br /&gt;   9&lt;br /&gt;  10 @class MyView;&lt;br /&gt;  11&lt;br /&gt;  12 @interface helloworldAppDelegate : NSObject {&lt;br /&gt;  13     UIWindow *window;&lt;br /&gt;  14     MyView *contentView;&lt;br /&gt;  15     // Levi: Define textView object&lt;br /&gt;  16     UITextView  *textView;&lt;br /&gt;  17 }&lt;br /&gt;  18&lt;br /&gt;  19 @property (nonatomic, retain) UIWindow *window;&lt;br /&gt;  20 @property (nonatomic, retain) MyView *contentView;&lt;br /&gt;  21 // Levi: Declare textView as a property&lt;br /&gt;  22 @property (nonatomic, retain) UITextView *textView;&lt;br /&gt;  23&lt;br /&gt;  24 @end&lt;br /&gt;  25&lt;/uikit/uikit.h&gt;&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;Y el archivo helloworldAppDelegate.m:&lt;/p&gt;&lt;blockquote style="margin-top: 15px; margin-right: 30px; margin-bottom: 10px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 20px; background-image: url(http://www.polimalo.com/wp-content/themes/Grey100/images/blockquote_bg.gif); background-repeat: repeat-y; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;code&gt;    1 //&lt;br /&gt;   2 //  helloworldAppDelegate.m&lt;br /&gt;   3 //  helloworld&lt;br /&gt;   4 //&lt;br /&gt;   5 //&lt;br /&gt;   6 //&lt;br /&gt;   7&lt;br /&gt;   8 #import "helloworldAppDelegate.h"&lt;br /&gt;   9 #import "MyView.h"&lt;br /&gt;  10&lt;br /&gt;  11 @implementation helloworldAppDelegate&lt;br /&gt;  12&lt;br /&gt;  13 @synthesize window;&lt;br /&gt;  14 @synthesize contentView;&lt;br /&gt;  15 // Levi: Tell the compiler to synthesize relevant accessors&lt;br /&gt;  16 @synthesize textView;&lt;br /&gt;  17&lt;br /&gt;  18 - (void)applicationDidFinishLaunching:(UIApplication *)application {&lt;br /&gt;  19     // Create window&lt;br /&gt;  20     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];&lt;br /&gt;  21&lt;br /&gt;  22     // Set up content view&lt;br /&gt;  23     self.contentView = [[[MyView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];&lt;br /&gt;  24     [window addSubview:contentView];&lt;br /&gt;  25&lt;br /&gt;  26     // Levi: Create the text view.&lt;br /&gt;  27     self.textView = [[[UITextView alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 480.0f)] autorelease];&lt;br /&gt;  28     [textView setEditable:YES];&lt;br /&gt;  29     [textView setText:@"Hello World"];&lt;br /&gt;  30&lt;br /&gt;  31     // Levi: Add a text view to the content view.&lt;br /&gt;  32     [contentView addSubview:textView];&lt;br /&gt;  33&lt;br /&gt;  34     // Show window&lt;br /&gt;  35     [window makeKeyAndVisible];&lt;br /&gt;  36 }&lt;br /&gt;  37&lt;br /&gt;  38 - (void)dealloc {&lt;br /&gt;  39     // Levi: Release the textView&lt;br /&gt;  40     [textView release];&lt;br /&gt;  41     [contentView release];&lt;br /&gt;  42     [window release];&lt;br /&gt;  43     [super dealloc];&lt;br /&gt;  44 }&lt;br /&gt;  45&lt;br /&gt;  46 @end&lt;br /&gt;  47&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;strong style="color: rgb(0, 0, 0); "&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;strong style="color: rgb(0, 0, 0); "&gt;Ejemplo “Hello World” para J2ME:&lt;/strong&gt;&lt;/p&gt;&lt;blockquote style="margin-top: 15px; margin-right: 30px; margin-bottom: 10px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 20px; background-image: url(http://www.polimalo.com/wp-content/themes/Grey100/images/blockquote_bg.gif); background-repeat: repeat-y; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;code&gt;import javax.microedition.midlet.*;&lt;br /&gt;import javax.microedition.lcdui.*;&lt;br /&gt;public class HelloWorld extends MIDlet implements CommandListener {&lt;br /&gt;   private Command exitCommand;&lt;br /&gt;   private TextBox tbox;&lt;/code&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;    public HelloWorld() {&lt;br /&gt;       exitCommand = new Command(”Exit”, Command.EXIT, 1);&lt;br /&gt;       tbox = new TextBox(”Hello world MIDlet”, “Hello World!”, 25, 0);&lt;br /&gt;       tbox.addCommand(exitCommand);&lt;br /&gt;       tbox.setCommandListener(this);&lt;br /&gt;   }&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;    protected void startApp() {&lt;br /&gt;       Display.getDisplay(this).setCurrent(tbox);&lt;br /&gt;   }&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;    protected void pauseApp() {}&lt;br /&gt;   protected void destroyApp(boolean bool) {}&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;    public void commandAction(Command cmd, Displayable disp) {&lt;br /&gt;       if (cmd == exitCommand) {&lt;br /&gt;           destroyApp(false);&lt;br /&gt;           notifyDestroyed();&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;strong style="color: rgb(0, 0, 0); "&gt;Ejemplo “Hello World” para Google Android:&lt;/strong&gt;&lt;/p&gt;&lt;blockquote style="margin-top: 15px; margin-right: 30px; margin-bottom: 10px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 20px; background-image: url(http://www.polimalo.com/wp-content/themes/Grey100/images/blockquote_bg.gif); background-repeat: repeat-y; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;code&gt;package com.android.hello;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.widget.TextView;&lt;/code&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;public class HelloAndroid extends Activity {&lt;br /&gt;/** Called when the activity is first created. */&lt;br /&gt;@Override&lt;br /&gt;public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;super.onCreate(savedInstanceState);&lt;br /&gt;TextView tv = new TextView(this);&lt;br /&gt;tv.setText(”Hello World”);&lt;br /&gt;setContentView(tv);&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;strong style="color: rgb(0, 0, 0); "&gt;Ejemplo “Hello World” para Windows Mobile:&lt;/strong&gt;&lt;/p&gt;&lt;blockquote style="margin-top: 15px; margin-right: 30px; margin-bottom: 10px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 20px; background-image: url(http://www.polimalo.com/wp-content/themes/Grey100/images/blockquote_bg.gif); background-repeat: repeat-y; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;&lt;code&gt;using System;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;public class HelloWorld {&lt;/code&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;    public static void Main() {&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; "&gt;        MessageBox.Show( “Hello World!” );&lt;br /&gt;   }&lt;br /&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-2522216341700344762?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/2522216341700344762/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/hello-world-windows-mobile-vs-symbian.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/2522216341700344762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/2522216341700344762'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/hello-world-windows-mobile-vs-symbian.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-1764844597788274501</id><published>2009-09-16T23:18:00.001-07:00</published><updated>2009-09-16T23:22:02.949-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); font-family:Arial, sans-serif;font-size:13px;"&gt;&lt;h3 class="post-title"  style="margin-top: 0.25em; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;  font-weight: normal; line-height: 1.4em; color: rgb(204, 102, 0); font-size:21px;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);  line-height: normal; "&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Presentando Google Chrome OS&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div class="post-body"&gt;&lt;h2 class="date-header" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 95%/normal Arial, sans-serif; color: rgb(102, 102, 102); padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;08 julio 2009 at 08:25&lt;/h2&gt;Nueve meses atrás presentamos el &lt;a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html"&gt;Google Chrome Browser&lt;/a&gt;. Ha sido un viaje excitante y ya hay 30 millones de personas que utilizan Google Chrome como su navegador principal. Muchos de los usuarios de Chrome practicamente viven en la Red. Pasan la mayor parte del tiempo leyendo noticias, enviando mails, realizando búsquedas, compras y manteniendose en contacto con amigos. Sin embargo, la mayoría de los sistemas operativos fueron diseñados en un tiempo en el que no existía Internet. Nosotros creemos que la Web debe ser el centro de una experiencia de computación. Es por ello que creamos el Google Chrome Browser y es la misma razón por la cuál estamos dando ahora el próximo paso y volviendo a pensar en lo que debería brindar un sistema operativo.&lt;br /&gt;&lt;br /&gt;Hoy, nos gustaría contarles de un proyecto que nos está entusiasmando enormemente, llamado Chrome Operating System. Google Chrome OS es un sistema operativo de código abierto, liviano, especialmente diseñado para su uso con netbooks. En unos meses más estaremos abriendo el código para los desarrolladores y en la segunda mitad del año 2010 estaremos ofreciendo al mercado netbooks con Google Chrome OS. Dado que estaremos trabajando con varios socios y la comunidad de desarrolladores para desarrollar este sistema operativo, queremos compartir nuestra visión para este proyecto ahora, para que todos comprendan lo que estamos intentando lograr.&lt;br /&gt;&lt;br /&gt;Velocidad, simplicidad y seguridad son los aspectos clave de Google Chrome OS. Estamos diseñando Chrome OS para que sea liviano y super rápido, para que te permita arrancar y estar navegando en la Web en sólo unos segundos. La interface con el usuario (UI) es mínima, para no interferir y para que toda la experiencia sea en la Web. Y tal como hicimos con el Google Chrome browser, estamos concentrándonos en lo básico y rediseñando completamente la arquitectura de seguridad del sistema operativo para que los usuarios no tengan que lidiar con los virus, malwares y actualizaciones de seguridad. La computadora sólo tiene que funcionar.&lt;br /&gt;&lt;br /&gt;Google Chrome OS correrá en x86 así como la plataforma ARM y estamos trabajando con múltiples fabricantes de equipos originales (OEM, según sus siglas en inglés) para ofrecer una cantidad de netbooks al mercado el año próximo. La arquitectura del software es sencilla -- Google Chrome corriendo con un nuevo sistema de ventanas sobre un Linux kernel. Para desarrolladores de aplicaciones, la Web es la plataforma. Todas las aplicaciones basadas en la Web funcionarán automáticamente y nuevas aplicaciones pueden ser escritas utilizando tus tecnologías Web favoritas. Y por supuesto, estas aplicaciones no sólo correrán en Google Chrome OS pero en cualquier navegador (standard-based) en Windows, Mac y Linux, por lo que le darán a los desarrolladores una base mucho más amplia de usuarios potenciales.&lt;br /&gt;&lt;br /&gt;Algunos se preguntarán cómo esta iniciativa se relaciona con Android, el sistema operativo de Google para dispositivos móviles. Android fue diseñado desde el inicio para funcionar sobre un número variado de dispositivos, desde teléfonos a netbooks. Google continúa invirtiendo y desarrollando una cantidad de productos que funcionan con Android, pero Google Chrome OS es una iniciativa diferente. Google Chrome OS fue diseñado específicamente para funcionar con netbooks y diseñado para usuarios que pasan la mayor parte de su tiempo online.&lt;br /&gt;&lt;br /&gt;Escuchamos mucho a nuestros usuarios y todo el tiempo reclaman una mejor experiencia de computación. Les gustaría poder acceder a sus correos electrónicos en forma instantánea, sin tener que esperar para que sus computadoras y sus browser arranquen. Quieren que sus computadoras funcionen siempre tan rápido como cuando las compraron. Quieren poder acceder a sus datos donde quiera que se encuentren y no tener que preocuparse por perder su computadora u olvidarse de hacer un back up de sus archivos. Más importante aún, no quieren pasar horas configurando sus computadoras para que puedan trabajar con cada nuevo hardware, o preocuparse por actualizaciones constantes de su software. Y cada vez que nuestros usuarios tienen una mejor experiencia de computación, Google se beneficia también por tener usuarios más felices que pasarán más tiempo en Internet.&lt;br /&gt;&lt;br /&gt;Tenemos mucho trabajo por realizar y necesitamos mucha ayuda de la comunidad de desarrolladores en código abierto para completar esta visión (dinos si estás interesado!). Si tienes preguntas adicionales sobre este proyecto, por favor ingresa a nuestras preguntas frecuentes. Estamos entusiasmados por lo que pueda surgir de esto y esperamos que tú lo estés también.&lt;br /&gt;&lt;br /&gt;Por: Sundar Pichai, VP Product Management y Linus Upson, Engineering Director&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-1764844597788274501?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/1764844597788274501/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/presentando-google-chrome-os-08-julio.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/1764844597788274501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/1764844597788274501'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/presentando-google-chrome-os-08-julio.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-6063842107212879360</id><published>2009-09-16T22:47:00.000-07:00</published><updated>2009-09-16T22:51:40.877-07:00</updated><title type='text'></title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Developing iPhone Applications Using Java&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/s8nMpi5-P-I&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/s8nMpi5-P-I&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"   style=" font-weight: normal; color: rgb(51, 51, 51);  line-height: 22px; font-family:Verdana, Geneva, Tahoma, sans-serif;font-size:13px;"&gt;these Java to iPhone App tutorials:&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 20px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; outline-style: none; outline-width: initial; outline-color: initial; font-size: 13px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; text-decoration: none; list-style-type: none; list-style-position: initial; list-style-image: initial; background-position: initial initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 15px; vertical-align: baseline; outline-style: none; outline-width: initial; outline-color: initial; font-size: 13px; background-image: url(http://diamondtearz.org/wp-content/themes/hybrid-news/images/bullet.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; text-decoration: none; overflow-x: hidden; overflow-y: hidden; background-position: 0px 6px; "&gt;&lt;a href="http://blog.taragana.com/index.php/archive/how-to-install-compile-run-java-on-iphone/" onclick="pageTracker._trackPageview('/outgoing/blog.taragana.com/index.php/archive/how-to-install-compile-run-java-on-iphone/?referer=');javascript:pageTracker._trackPageview('/outbound/article/blog.taragana.com');" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; outline-style: none; outline-width: initial; outline-color: initial; font-size: 13px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; text-decoration: none; cursor: pointer; color: rgb(51, 102, 153); background-position: initial initial; "&gt;How to Install, Comple, Run Java on The iPhone&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 15px; vertical-align: baseline; outline-style: none; outline-width: initial; outline-color: initial; font-size: 13px; background-image: url(http://diamondtearz.org/wp-content/themes/hybrid-news/images/bullet.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; text-decoration: none; overflow-x: hidden; overflow-y: hidden; background-position: 0px 6px; "&gt;&lt;a href="http://www.innaworks.com/alcheMo-for-iPhone.html" onclick="pageTracker._trackPageview('/outgoing/www.innaworks.com/alcheMo-for-iPhone.html?referer=');javascript:pageTracker._trackPageview('/outbound/article/www.innaworks.com');" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; outline-style: none; outline-width: initial; outline-color: initial; font-size: 13px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; text-decoration: none; cursor: pointer; color: rgb(51, 102, 153); background-position: initial initial; "&gt;Developing Native iPhone Apps with Jave&lt;/a&gt;- use &lt;a href="http://www.innaworks.com/alcheMo.html" onclick="pageTracker._trackPageview('/outgoing/www.innaworks.com/alcheMo.html?referer=');javascript:pageTracker._trackPageview('/outbound/article/www.innaworks.com');" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; outline-style: none; outline-width: initial; outline-color: initial; font-size: 13px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; text-decoration: none; cursor: pointer; color: rgb(51, 102, 153); background-position: initial initial; "&gt;alcheMo&lt;/a&gt; the fully automated solution to get your Java code on the iPhone.  This app converts your code from  to iPhone compatible&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 15px; vertical-align: baseline; outline-style: none; outline-width: initial; outline-color: initial; font-size: 13px; background-image: url(http://diamondtearz.org/wp-content/themes/hybrid-news/images/bullet.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; text-decoration: none; overflow-x: hidden; overflow-y: hidden; background-position: 0px 6px; "&gt;&lt;a href="http://java4iphone.com/all-news/tutorial-install-java-on-the-iphone/" onclick="pageTracker._trackPageview('/outgoing/java4iphone.com/all-news/tutorial-install-java-on-the-iphone/?referer=');javascript:pageTracker._trackPageview('/outbound/article/java4iphone.com');" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; outline-style: none; outline-width: initial; outline-color: initial; font-size: 13px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; text-decoration: none; cursor: pointer; color: rgb(51, 102, 153); background-position: initial initial; "&gt;install Java on iPhone&lt;/a&gt; from iPhone Root&lt;/li&gt;&lt;/ul&gt;Helpful resources for other languages include: &lt;a href="http://diamondtearz.org/blog/?p=3178" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; outline-style: none; outline-width: initial; outline-color: initial; font-size: 13px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; text-decoration: none; cursor: pointer; color: rgb(51, 102, 153); background-position: initial initial; "&gt;Alternatives to Objective C for iPhone Application Development&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-6063842107212879360?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/6063842107212879360/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/developing-iphone-applications-using.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/6063842107212879360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/6063842107212879360'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/developing-iphone-applications-using.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-369769038291140745</id><published>2009-09-14T21:45:00.000-07:00</published><updated>2009-09-14T21:46:21.173-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Sans'; font-size: 12px; line-height: 16px; "&gt;&lt;h2 style="font-size: 17px; color: rgb(0, 0, 51); margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 2px; padding-left: 0px; clear: both; "&gt;&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-size:20.0pt;line-height:115%"&gt;El primer LG con Android: GW620&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/h2&gt;&lt;div class="info" style="font-size: 0.9em; "&gt;Escrito por &lt;a href="http://and.roid.es/author/carthesian/" title="Posts by carthesian" style="font-weight: normal; color: rgb(55, 53, 53); text-decoration: underline; border-bottom-width: 0pt; border-bottom-style: initial; border-bottom-color: initial; "&gt;carthesian&lt;/a&gt; el 14 de September de 2009, clasificado en &lt;a href="http://and.roid.es/category/telefonos" title="View all posts in Teléfonos" rel="category tag" style="font-weight: normal; color: rgb(55, 53, 53); text-decoration: underline; border-bottom-width: 0pt; border-bottom-style: initial; border-bottom-color: initial; "&gt;Teléfonos&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="font-size: 12px; font-style: normal; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;img class="alignleft size-medium wp-image-3421" title="lg_gw620_220090914125359325" src="http://and.roid.es/wp-content/uploads/2009/09/lg_gw620_220090914125359325-300x204.jpg" alt="lg_gw620_220090914125359325" width="300" height="204" style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; margin-top: 2px; margin-right: 10px; margin-bottom: 2px; margin-left: 2px; float: left; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(164, 198, 57); border-right-color: rgb(164, 198, 57); border-bottom-color: rgb(164, 198, 57); border-left-color: rgb(164, 198, 57); " /&gt;Acostumbrados a los nombres pronunciables LG anuncia el GW620. Ya hace un par de meses tuvimos un&lt;a href="http://and.roid.es/lg-gw620-con-android-cazado.html" style="font-weight: normal; color: rgb(55, 53, 53); text-decoration: underline; border-bottom-width: 0pt; border-bottom-style: initial; border-bottom-color: initial; "&gt; rumor de este móvil&lt;/a&gt; que pensabamos que tardaría más dado que la semana pasada LG dijo que en breve sacaría tres móviles con Windows Mobile. Parece que&lt;strong&gt; todas las compañías quieren estar en Android aunque no se metan de lleno&lt;/strong&gt; como ha hecho Motorola. En este caso el CEO de LG, Dr. Skott Ahn, dice textualmente “&lt;strong&gt;este móvil con Android es uno más&lt;/strong&gt; entre todos los que vamos a sacar dentro de los próximos 12 meses”.&lt;/p&gt;&lt;p style="font-size: 12px; font-style: normal; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;El dispositivo en concreto se suma a los que tienen teclado QWERTY deslizable, pantalla de tres pulgadas y poco más podemos sacar de la &lt;a href="http://www.lge.com/about/press_release/detail/21912.jhtml#" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.lge.com/about/press_release/detail/21912.jhtml#');" target="_blank" style="font-weight: normal; color: rgb(55, 53, 53); text-decoration: underline; border-bottom-width: 0pt; border-bottom-style: initial; border-bottom-color: initial; "&gt;nota de prensa de LG&lt;/a&gt;. Podría ser que LG estuviera trabajando en una skin del tipo Sense de HTC o Motoblur de Motorola porque dicen que lo sacan para dar servicio a la creciente necesidad de uso de redes sociales.&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-369769038291140745?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/369769038291140745/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/el-primer-lg-con-android-gw620-escrito.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/369769038291140745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/369769038291140745'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/el-primer-lg-con-android-gw620-escrito.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-3028407012037253696</id><published>2009-09-13T01:49:00.000-07:00</published><updated>2009-09-13T01:50:57.808-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 13px; line-height: 18px; "&gt;&lt;h3 class="post-title" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-size: 17px; line-height: 1.5em; background-image: url(http://www.blogblog.com/rounders/icon_arrow.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; display: block; border-top-width: 0px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dotted; border-right-style: dotted; border-bottom-style: dotted; border-left-style: dotted; border-top-color: rgb(187, 187, 187); border-right-color: rgb(187, 187, 187); border-bottom-color: rgb(187, 187, 187); border-left-color: rgb(187, 187, 187); padding-top: 2px; padding-right: 14px; padding-bottom: 2px; padding-left: 29px; color: rgb(51, 51, 51); background-position: 10px 0.5em; "&gt;Algunas cosas nuevas de Java 7&lt;/h3&gt;&lt;div class="post-body" style="border-top-width: 0px; border-right-width: 1px; border-bottom-width: 0px; border-left-width: 1px; border-top-style: dotted; border-right-style: dotted; border-bottom-style: dotted; border-left-style: dotted; border-top-color: rgb(187, 187, 187); border-right-color: rgb(187, 187, 187); border-bottom-color: rgb(255, 255, 255); border-left-color: rgb(187, 187, 187); padding-top: 10px; padding-right: 14px; padding-bottom: 1px; padding-left: 29px; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; "&gt;&lt;/p&gt;&lt;div style="clear: both; "&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;Estaba viendo algunos mails de &lt;a href="http://osum.sun.com/group/utnfrc" style="color: rgb(34, 85, 136); "&gt;OSUM&lt;/a&gt; cuando llegué al siguiente video donde se muestran algunas cosas nuevas con las que está por venir el próximo &lt;a href="http://java.sun.com/features/jdk/7/" style="color: rgb(34, 85, 136); "&gt;JDK 7&lt;/a&gt;. Todavía sin fecha de lanzamiento (lo último que se sabe, es el Milestone 5, aproximadamente el 10/09/2009), algunos de los cambios son:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify; "&gt;&lt;li&gt;&lt;span style="font-weight: bold; "&gt;Modularización&lt;/span&gt;: lo que se quiere hacer es dividir todo el paquete para hacer lo más "liviano" a Java. De esta manera, el usuario final podrá bajar automáticamente todos los módulos que necesite en ese momento.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; "&gt;Soporte multi-lenguaje&lt;/span&gt;: comenzando con Ruby y moviéndose hacia Python, se está modificando la máquina virtual para dar soporte a otros lenguajes.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; "&gt;Nueva librería de IO (NIO 2) &lt;/span&gt;: una de las mejoras que muestra es la búsqueda por directorios automática (si, no más hacerlo a mano!!). Aunque el ejemplo de código que muestra, no se ve tan sencillo como lo esperaría.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; "&gt;Swing&lt;/span&gt;: las mejoras no son la gran cosa (mirándolo en un sentido muy general). Por fin tendremos un DatePicker y un par de controles adicionales.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; "&gt;Cambios menores a la sintaxis&lt;/span&gt;: por ejemplo, el operador "Elvis" (ejemplo en el video)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-3028407012037253696?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/3028407012037253696/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/algunas-cosas-nuevas-de-java-7-estaba.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/3028407012037253696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/3028407012037253696'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/algunas-cosas-nuevas-de-java-7-estaba.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-7621852833293663683</id><published>2009-09-13T01:29:00.000-07:00</published><updated>2009-09-13T01:52:15.620-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span"   style=" border-collapse: collapse;  -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:Arial;font-size:13px;"&gt;&lt;h2 style="text-align: center; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span class="Apple-style-span"   style="font-size:6;color:#261753;"&gt;&lt;span class="Apple-style-span" style="font-size: 20px;"&gt;Nokia anuncia su primer netbook : Booklet 3G&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div class="submition-info " style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 10px; color: rgb(102, 102, 102); "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content-body " id="body-589733" style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: justify; "&gt;&lt;br /&gt;&lt;p style="text-align: center;margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;img title="nokianetbook.jpg" src="http://bligoo.com/media/users/0/23605/images/public/8043/nokianetbook.jpg?v=1251129642541" style="margin-top: 4px; margin-right: 4px; margin-bottom: 4px; margin-left: 4px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;  font-size:10pt;"&gt;Se veía venir, pues así como fabricantes de computadores ahora están metidos de lleno en el mercado de teléfonos móviles como Acer, Asus,Lenovo y Dell, pues los que construyen celulares quieren también parte de la torta del mercado de portátiles.&lt;/span&gt;&lt;/p&gt;&lt;p class="justo3" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;  font-size:10pt;"&gt;Es por ello que con sigilo, el fabricante finlandés de teléfonos móviles, Nokia, ha anunciado de manera oficial su "ingreso" al mercado de los netbooks, anunciando su &lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Nokia Booklet 3G.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="justo3" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;  font-size:10pt;"&gt;Es su primer portátil que incluye Windows, una pantalla de 10 pulgadas y conectividad 3G, pero que estará más cerca de los miniportátiles tipo Sony Vaio P que de los netbooks que conocemos por estos lados.&lt;/span&gt;&lt;/p&gt;&lt;p class="justo3" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;  font-size:10pt;"&gt;Nokia presenta este dispositivo garantizando 12 horas de funcionamiento, menos de un kilo de peso en un portátil ultra delgado.&lt;/span&gt;&lt;/p&gt;&lt;p class="justo3" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;  font-size:10pt;"&gt;El Nokia Booklet 3G está basado en procesador Atom de Intel el cual será lanzado físicamente los primeros días de Septiembre en Alemania.&lt;/span&gt;&lt;/p&gt;&lt;p class="justo3" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;  font-size:10pt;"&gt;El Booklet incluirá conexión especial a los servicios Ovi de Nokia, que ya son accesibles desde cualquier computador y desde los móviles de alta gama de la compañía.&lt;/span&gt;&lt;/p&gt;&lt;p class="justo3" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;  font-size:10pt;"&gt;El nuevo Booklet tendrá conexiones wi-fi y de red móvil HSPA (la evolución del 3G) además de puerto HDMI, para poder enviar vídeos o conectar la tele. También incluye webcam, ranura de tarjetas SD y conexión bluetooth. Y admite posicionamiento por red móvil (A-GPS).&lt;/span&gt;&lt;/p&gt;&lt;p class="justo3" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;  font-size:10pt;"&gt;Para los analistas, el hecho de que Nokia entre a este segmento es un cambio drástico de su estrategia, considerando que siempre ha defendido a sus smartphones como "mini computadores".&lt;/span&gt;&lt;/p&gt;&lt;p class="justo3" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;  font-size:10pt;"&gt;Si tiene éxito, sólo el tiempo lo dirá. Por el momento habrá que esperar para saber su precio.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-7621852833293663683?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/7621852833293663683/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/nokia-anuncia-su-primer-netbook-booklet.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/7621852833293663683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/7621852833293663683'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/nokia-anuncia-su-primer-netbook-booklet.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-8785333941622340804</id><published>2009-09-13T01:22:00.001-07:00</published><updated>2009-09-13T01:52:47.010-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span"   style=" color: rgb(58, 58, 29);  line-height: 18px; font-family:Verdana;font-size:12px;"&gt;&lt;h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; font: normal normal bold 1.6em/normal Verdana, Arial, 'Trebuchet MS', Tahoma, sans-serif; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); "&gt;&lt;span class="Apple-style-span"  style="color:#5F5F2E;"&gt;Noticias: OpenOffice debe basarse en JavaFX&lt;/span&gt;&lt;/h2&gt;&lt;br /&gt;&lt;img src="http://www.noticiasdot.com/wp2/wp-content/uploads/2008/12/javafx.jpg" width="200" border="0" height="149" align="right" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;br /&gt;Primeras declaraciones públicas de Larry Ellison sobre productos de Sun Microsystems: Recomienda la reconstrucción de la interfaz gráfica de OpenOffice utilizando JavaFX. ¿Será esto considerado como una intromisión y significará el principio del fin de la relación entre esta comunidad y Oracle?&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Guillem Alsina – Cada vez que el CEO de Oracle habla en público desde la adquisición de Sun Microsystems que hizo su compañía, los responsables y colaboradores de los proyectos de software libre dependientes de la compañía creadora de Java y Solaris contienen la respiración. Y no es que Ellison se haya prodigado mucho, más bien al contrario; y es que la táctica de Oracle ha sido siempre muy amante del secretismo en todo lo que rodea a sus productos hasta el momento del lanzamiento final.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;En una declaraciones de las que se hace eco The Register, Ellison confirma el interés que su compañía tiene por la plataforma Java en general y por sus variantes, y más concretamente por JavaFX. El CEO de Oracle ha recomendado a la comunidad de desarrolladores de OpenOffice que vayan pensando en construir la interfaz de la suite ofimática libre utilizando este toolkit. Esta afirmación que para muchos puede carecer de gran importancia, en realidad puede significar la tensión de las relaciones en el futuro entre dicha comunidad y la misma Oracle. En primer lugar porque probablemente se vea como una intromisión extemporánea e injustificada por parte de un personaje y una compañía a los que aún se mira con recelo por parte no solamente de OpenOffice, sino también de otros proyectos como OpenSolaris u OpenJDK.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;JavaFX es, además, una tecnología que no ha pasado por un proceso de aprobación por parte de la comunidad vinculada con Java, sino que ha sido un desarrollo mantenido siempre dentro de Sun y bajo su control directo, y nada indica que esta situación cambie con la irrupción en la escena Java de Oracle.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;OpenOffice es, además, un proyecto que pese a ser impulsado principalmente por Sun, también cuenta con una importante participación de otras compañías que, de una u otra forma, lo utilizan y retroalimentan con feedback. Es el caso de IBM, que inspira su propia suite ofimática Lotus Symphony en este desarrollo, o Novell, que incluye una variante modificada en su distribución de GNU/Linux SuSE. Un exceso de celo en controlar OpenOffice por parte de Oracle podría deteriorar las relaciones del fabricante de base de datos con estas otras empresas, que a buen seguro ya sufren de una tirantez desde el anuncio de la operación de adquisición de Sun.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Ellison ha recomendado el uso de JavaFX para la interfaz gráfica, lo que obligaría a reprogramar amplias secciones del código fuente de OpenOffice. Si a esto le añadimos que las declaraciones de Ellison pueden ser interpretadas por la comunidad como el intento de borrar de un plumazo el proyecto Renaissance, dedicado a renovar la interfaz gráfica de usuario de la suite ofimática por excelencia.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;¿El principio de un desencuentro?&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Como hemos indicado anteriormente, la adquisición de Sun por parte de Oracle ha puesto en “estado de alerta” a los responsables y colaboradores de los proyectos libres emanados de la primera compañía. Cualquier movimiento de Oracle al respecto, aunque fuese con “buenas intenciones” (afirmación que siempre es muy subjetiva), podría ser malinterpretado, lo que podría llevar a una rotura de relaciones entre el proyecto en cuestión y la compañía. En este caso, dicho proyecto (ya fuera OpenOffice, OpenSolaris, OpenJDK o MySQL) podría empezar a orbitar al rededor de otra gran compañía o bien iniciar una singladura completamente en solitario.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Analizar proyecto por proyecto lo que podría pasar es harto difícil, pero sin lugar a dudas no es muy aventurado decir que el que pasará más vicisitudes será sin lugar a dudas MySQL, aunque este producto puede tener perfectamente su espacio en la catera de Oracle sin entrar en competencia con las base de datos que esta compañía tiene.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Todo será cuestión de que ambas partes mantengan un diálogo abierto y sereno.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;em style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Copyleft 2009&lt;/em&gt; &lt;a href="http://www.imatica.org/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(95, 95, 46); background: inherit; text-decoration: none; "&gt;&lt;em style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;www.imatica.org&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-8785333941622340804?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/8785333941622340804/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/noticias-openoffice-debe-basarse-en.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/8785333941622340804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/8785333941622340804'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/noticias-openoffice-debe-basarse-en.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-7878662894002589209</id><published>2009-09-13T00:33:00.001-07:00</published><updated>2009-09-13T01:56:31.677-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span"   style="  line-height: 17px; font-family:'Lucida Grande';font-size:13px;"&gt;&lt;h2    style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal;   outline-style: none; outline-width: initial; outline- font-family:inherit;font-size:13px;color:initial;"&gt;&lt;span class="Apple-style-span"  style=" font-weight: normal; font-size:48px;"&gt;&lt;h2  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-style: none; outline-width: initial; outline- color:initial;"&gt;&lt;span class="Apple-style-span"  style="color:#111111;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; line-height: 25px; "&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Sony Ericsson descartaría Windows Mobile para enfocarse en Android y Symbian&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;/span&gt;&lt;/h2&gt;&lt;span class="Apple-style-span"   style="font-size:100%;color:#6E7D85;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 10px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; "&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;&lt;img class="aligncenter size-full wp-image-36479" title="Sony-Ericsson-Xperia-X2" src="http://www.celularis.com/wp-content/uploads/2009/09/Sony-Ericsson-Xperia-X21.jpg" alt="Sony Ericsson Xperia X21 Sony Ericsson descartaría Windows Mobile para enfocarse en Android y Symbian" width="368" height="324" style="display: block; margin-left: auto; margin-right: auto; text-align: center; margin-top: 0px; margin-bottom: 0px; " /&gt;&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;Por más que acaban de presentar el &lt;a href="http://www.celularis.com/sonyericsson/sony-ericsson-xperia-x2-con-windows-mobile-6-5.php" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: rgb(69, 124, 151); border-bottom-style: dotted; border-bottom-color: rgb(69, 124, 151); "&gt;Sony Ericsson Xperia X2&lt;/a&gt; con Windows Mobile 6.5 y se habla de la posible actualización del &lt;a href="http://www.celularis.com/terminales/nuevo-sony-xperia-x1.php" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: rgb(69, 124, 151); border-bottom-style: dotted; border-bottom-color: rgb(69, 124, 151); "&gt;Xperia X1&lt;/a&gt; al nuevo OS de Microsoft, &lt;strong&gt;Sony Ericsson&lt;/strong&gt;&lt;strong&gt;puede que nunca más anuncie un teléfono móvil con Windows Mobile&lt;/strong&gt;.&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;&lt;a rel="nofollow" href="http://twitter.com/eldarmurtazin/status/3836147699" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: rgb(69, 124, 151); border-bottom-style: dotted; border-bottom-color: rgb(69, 124, 151); "&gt;Eldar Murtazin&lt;/a&gt; (que tiene las mejores fuentes de la industria y adelantó los nuevos móviles Nokia, por ejemplo) reveló que &lt;strong&gt;Sony Ericsson se negó a seguir apoyando la plataforma Windows Mobile&lt;/strong&gt;. Según el periodista ruso, el &lt;strong&gt;Xperia X2 sería el último smartphone de la compañía con el sistema operativo de Microsoft&lt;/strong&gt; y hasta cancelarían otro que ya estaba en desarrollo.&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;La razón, como siempre, es meramente económica ya que desde SE &lt;strong&gt;no creen que los móviles con Windows Mobile se vendan bien&lt;/strong&gt; en el futuro: “los pronósticos de ventas son malos”.&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;Y &lt;strong&gt;para reemplazar a WM, Sony Ericsson elegirá Android y Symbian S60&lt;/strong&gt;. En realidad podríamos decir que ya eligieron estas plataformas porque el &lt;a href="http://www.celularis.com/sonyericsson/sony-ericsson-satio.php" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: rgb(69, 124, 151); border-bottom-style: dotted; border-bottom-color: rgb(69, 124, 151); "&gt;Sony Ericsson Satio corre con S60&lt;/a&gt; y escuchamos varios rumores sobre el &lt;a href="http://www.celularis.com/sonyericsson/especificaciones-sony-ericsson-x3-rachael.php" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: rgb(69, 124, 151); border-bottom-style: dotted; border-bottom-color: rgb(69, 124, 151); "&gt;Xperia X3 Rachael que tendría Android&lt;/a&gt;.&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;Entonces, &lt;strong&gt;se espera que Sony Ericsson tenga unos 4 celulares con Andrid y 3 o 4 con S60 para el año que viene&lt;/strong&gt;. Y si todo anda más o menos bien, no veo porqué deberían volver atrás con esta estrategia. ¿Qué opinan, les gustaría que esto se convierta en realidad y SE no saque más teléfonos con Windows Mobile?&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-7878662894002589209?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/7878662894002589209/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/sony-ericsson-descartaria-windows.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/7878662894002589209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/7878662894002589209'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/sony-ericsson-descartaria-windows.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1008474315270539550.post-63647783503974711</id><published>2009-09-13T00:26:00.001-07:00</published><updated>2009-09-13T01:55:41.656-07:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span"   style="  line-height: 17px; font-family:'Lucida Grande';font-size:13px;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px; font-family:'Trebuchet MS';"&gt;&lt;h3 class="post-title" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: url(http://www.blogblog.com/rounders/icon_arrow.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; display: block; border-top-width: 0px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dotted; border-right-style: dotted; border-bottom-style: dotted; border-left-style: dotted; border-top-color: rgb(187, 187, 187); border-right-color: rgb(187, 187, 187); border-bottom-color: rgb(187, 187, 187); border-left-color: rgb(187, 187, 187); padding-top: 2px; padding-right: 14px; padding-bottom: 2px; padding-left: 29px; background-position: 10px 0.5em; "&gt;&lt;span class="Apple-style-span"   style="font-size:180%;color:#333333;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 25px;font-size:17px;"&gt;Aplicación de Facebook para Android&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="meta" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 11px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; position: relative; color: rgb(110, 125, 133); text-decoration: none; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="entry" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 10px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; "&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;&lt;img class="alignleft size-full wp-image-36388" title="android facebook" src="http://www.celularis.com/wp-content/uploads/2009/09/android-facebook.png" alt="android facebook" width="197" height="205" style="float: left; margin-top: 0px; margin-right: 0.5em; margin-bottom: 0.5em; margin-left: 0px; " /&gt;Los usuarios de Android deben estar contentos en saber que no tienen que usar más el sitio móvil si quieren entrar a&lt;strong&gt;Facebook desde sus móviles.&lt;/strong&gt;&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;Con la &lt;strong&gt;aplicación de Facebook para Android&lt;/strong&gt; podrán enviar actualizaciones de estado, ver el news feed, subir fotos y navegar por los perfiles de nuestros contactos. Sin embargo, todavía le faltan algunas opciones básicas como enviar mensajes privados (inbox) o gestionar los eventos, algo que se puede hacer sin problemas en &lt;a href="http://www.celularis.com/apple-iphone/facebook-3-0-para-el-iphone-ya-disponible-en-itunes.php" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: rgb(69, 124, 151); border-bottom-style: dotted; border-bottom-color: rgb(69, 124, 151); "&gt;Facebook para iPhone&lt;/a&gt;.&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;Como valor agregado incluye la posibilidad de fusionar los números de teléfonos de tus contactos en la aplicación para poder buscarlos (hasta 125) luego desde el widget de la página principal.&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;Hay que recordar que a fines del año pasado la gente de &lt;a href="http://www.celularis.com/software/facebook-se-pone-arisco-con-android.php" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: rgb(69, 124, 151); border-bottom-style: dotted; border-bottom-color: rgb(69, 124, 151); "&gt;Facebook se puso tensa y dijo que no gastaría un peso en Android&lt;/a&gt;, pero luego &lt;a href="http://www.celularis.com/software/aplicacion-facebook-android.php" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: rgb(69, 124, 151); border-bottom-style: dotted; border-bottom-color: rgb(69, 124, 151); "&gt;cambiaron de opinión&lt;/a&gt; debido a la gran cantidad de móviles con el OS de Google que están apareciendo.&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;Por eso no me sorprende la actitud infantil de Facebook de poner en la &lt;a rel="nofollow" href="http://www.facebook.com/apps/application.php?id=74769995908&amp;amp;v=wall&amp;amp;viewas=727184564" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: normal; font-size: 13px; font-family: inherit; outline-style: none; outline-width: initial; outline-color: initial; text-decoration: none; color: rgb(69, 124, 151); border-bottom-style: dotted; border-bottom-color: rgb(69, 124, 151); "&gt;fan page&lt;/a&gt; de la aplicación que ellos no la desarrollaron cuando la realidad es que desarrolladores de ambas compañías colaboraron para la versión final de la app, aunque fue un ingeniero de Google el que construyó la parte principal.&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;Para terminar los dejo con un video de la &lt;strong&gt;aplicación de Facebook para móviles Android&lt;/strong&gt;que ya se encuentra disponible en Android Market:&lt;/p&gt;&lt;p style="color: rgb(112, 112, 112); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span"  style="color:#707070;"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/kn90BPNLNSg&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/kn90BPNLNSg&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1008474315270539550-63647783503974711?l=davidtoledos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidtoledos.blogspot.com/feeds/63647783503974711/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/aplicacion-de-facebook-para-android.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/63647783503974711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1008474315270539550/posts/default/63647783503974711'/><link rel='alternate' type='text/html' href='http://davidtoledos.blogspot.com/2009/09/aplicacion-de-facebook-para-android.html' title=''/><author><name>David Toledo</name><uri>http://www.blogger.com/profile/08256615658349978109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_fTUIDIMTz40/SqybDWmVhDI/AAAAAAAAAAM/q0kwmKcWtes/S220/DTS_3.jpg'/></author><thr:total>0</thr:total></entry></feed>
