Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Subscribe
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Subscribe
    Home Applications
    • Applications
    • Development
    • IT Management
    • Servers

    Porting Zoho Apps to Google App Engine

    Written by

    Jeff Cogswell
    Published January 27, 2009
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      It was bound to happen: As more and more Web technologies are released, some will grow and mature, while some will disappear. And some will start to come together.

      Take the case of Zoho Creator and Google App Engine. For those of you who haven’t yet tried out Zoho Creator (which has been out for about three years now and is up to Version 3.0), you’re missing out. I’ve been playing around with Zoho Creator for quite some time, and what strikes me is the ease with which you can get a fully functional online Web application up and running, without sacrificing power. If you want quick-and-not-very-dirty, you can do it. But if you want to roll up your sleeves and start to really customize your application (such as by writing your own HTML and scripts), you can do that, too.

      Zoho Creator is part of a bigger project, simply called Zoho, which was released in 2005. Zoho is an entire online suite of office applications, including (as of this writing) e-mail, word processing, spreadsheets, presentations, notebooks, wiki, organizers and planners, chat software, project management, invoicing, and even CRM.

      Click here to read about how open-source developers have embraced Google App Engine.

      However, while the company called AdventNet was busy creating Zoho, Google was building its own online spreadsheet, and would later acquire a company that created an online word processor. The end result is what we know today as Google Docs.

      These two office suites are clearly competitors, and the Web is rich with blogs and articles comparing the two as people try to determine which is best for their own purposes. For this article, I’m not going to take part in that particular discussion (or dispute, as the case may be). Instead, I’m going to focus on an interesting item that has grown out of the two. Google, while offering its own competing suite of office tools, also-as of mid-2008-has its own cloud-based application engine, Google App Engine, or GAE.

      That’s where this gets interesting. In late December, Zoho announced that applications created with Zoho Creator could be deployed on GAE.

      Porting to Google App Engine

      As I said, I’ve been using Zoho Creator for a while, so I decided to try porting an application to GAE. I’m happy to report that the process worked just as it was supposed to. For this test, I started out with one of the basic skeleton applications that Zoho Creator makes, a simple customer support form.

      The process of deploying to Google App Engine is quite simple. There’s a drop-down menu labeled “Deploy in Google App Engine.” When you click that, Zoho Creator asks for your Google ID and reminds you to register the application with GAE. You then click the Generate button, which brings up a page from which you can download your application.

      What you get is a .zip file containing all the files you’ll upload to GAE. If you’ve developed for GAE, you’ll see all the usual files you’d expect (such as app.yaml, and some .py files containing Python code; these Python files are a bit cluttered, but they’re filled with some solid-looking code).

      The next step is to upload the files to your own area on GAE. The official Zoho Creator blog calls this process “a bit geeky at this time,” but it’s really not that big of a deal. True, you have to upload the files, and I hope in the future Zoho will have an interface right on its Web site that will transfer the files for you automatically. But even for now, it’s really not that bad.

      In addition, in the end, the applications work just as you would hope they do. Along with trying out my own simple applications, I tried the two sample applications that run on both Zoho Creator and GAE linked to by the official blog. They look slightly different in layout, but the functionality is the same.

      But is that all there is? Let’s analyze this a bit further.

      The Big Python Wall

      Zoho’s announcement of its integration with GAE was welcomed by a lot of people, and I noticed there was a common theme among many of the comments. Indeed, when I have reviewed Google App Engine, the same complaint comes up again and again: To program for GAE, you need to use Python.

      I’ve been using Python for more than a decade, so for me, this isn’t a problem. However, many people simply don’t want to learn a new language, ad that’s where the Zoho announcement is welcome news. Now people can effectively use Zoho Creator as a development environment for Google App Engine-without having to learn Python.

      The relevant post on the official Zoho Creator blog even has this quote in it:

      “The process of deploying a Zoho Creator application on to App Engine doesn’t require knowledge of Python. You don’t even have to write a single line of code to create and deploy an application either on Zoho or Google App Engine.“

      But as a seasoned developer, this also gives me trouble. If targeting a platform, it’s wise for a developer to know everything he or she can about that particular platform. When you port an application from Zoho Creator to GAE, Zoho emits Python code. From there you can install the Python code on your own local development server or upload to the real GAE servers.

      But how can you debug your code if something goes wrong? If you don’t know Python, you’re going to be in a bit of a bind. You’ve had to assume that the Python code emitted by Zoho is, in fact, 100 percent correct. But if the application runs correctly on Zoho but not correctly on GAE, then you have no choice but to roll up your sleeves and do some debugging in Python.

      From a business perspective, this could be a bad idea indeed. A company doesn’t want its developers spinning their wheels fighting with a language they’re not familiar with.

      However, there’s another factor here: Python is not terribly difficult to learn. A good, strong developer should be able to learn Python rather quickly. If a company is going to make the business decision to use Zoho Creator as the development environment for Google App Engine, it would be wise to either make sure its developers are already skilled in Python, or to get them the training needed to learn Python.

      Forward and Reverse Engineering

      While learning Python might not be a major stumbling block, another problem with using Zoho Creator as a development environment for GAE involves the development cycle itself. Any time you deal with emitted code, where an IDE (integrated development environment) instead of compiling code emits a high-level language, you end up with a problem if you want to make changes to the software. In the case of Zoho Creator with GAE, you can make changes to your software either from within Zoho or by modifying the emitted Python code itself.

      Modifying the emitted Python code would certainly make sound coding sense, as you would want your code to be optimized for Google App Engine. But then you’ll have yet another problem on your hands: Zoho Creator can’t read your modified Python code back in. Changing the Python code is a one-way, downhill street. One you’ve changed it, you’re stuck making all future changes and modifications to the Python code without the help of Zoho Creator.

      If you want to avoid this problem, you’ll have to make all your changes inside Zoho Creator itself. Then you’ll remain at the pre-Python level, without making any changes to the Python code and, again, probably not needing to know Python at all.

      Does it sound like this is getting messy? It does to me.

      Conclusion: Our place in this world

      This is where we get to the issue of knowing our place in this world. From working with the GAE emitter on Zoho Creator, while you can move your applications from Zoho Creator to Google App Engine, I seriously question whether it makes sound business sense. A software development organization must have total control over its software, from start of development to finish. Bugs are a fact of life, a reality, and if there’s a certain area of your cycle where you don’t have total control (such as debugging the emitted Python code), you’re in for a lot of headaches.

      I can’t help but wonder, then, if the feature of deploying to Google App Engine was less a business decision by Zoho itself and more just something the developers came up with to see if they could make it work. While it might certainly work with some simple, small applications, I could not recommend using this approach to develop mission-critical applications that are targeted for Google App Engine.

      Senior Editor Jeff Cogswell can be reached at [email protected].

      Jeff Cogswell
      Jeff Cogswell
      Jeff Cogswell is the author of Designing Highly Useable Software (http://www.amazon.com/dp/0782143016) among other books and is the owner/operator of CogsMedia Training and Consulting.Currently Jeff is a senior editor with Ziff Davis Enterprise. Prior to joining Ziff, he spent about 15 years as a software engineer, working on Windows and Unix systems, mastering C++, PHP, and ASP.NET development. He has written over a dozen books.

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.