Cloud World

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Tuesday, 12 November 2013

Google App Engine integration features in IntelliJ IDEA and PyCharm

Posted on 10:51 by Unknown
Today’s guest post comes from Maarten Balliauw, Technical Evangelist at JetBrains, the vendor of smart developer tools such as IntelliJ IDEA, PyCharm, PhpStorm, Android Studio and many more.



We build tools that enhance developer productivity and code quality. We do this by providing plugins that support integration with databases, frameworks, and services, such as Google App Engine. In this post, we will look at how we’ve made it easier to deploy to Google App Engine from PyCharm or IntelliJ IDEA.



PyCharm Professional Edition comes with Google App Engine Integration built in. For IntelliJ IDEA Ultimate you need to enable it by installing the Google App Engine Integration plugin.



Once integration is enabled, you can create a new Google App Engine application, open a sample shipped with the Google App Engine SDK or open an existing project you may have.




Creating a new project in PyCharm

The IDE will ask for some additional information, such as the Google App Engine application id. Once that is done, the IDE will create a new project structure in which you can start working.



All the various coding assistance features in the IDE are available: syntax and error highlighting, automatic indentation, code completion and more. The Google App Engine SDK directory is automatically added to Libraries in your IDE so all the APIs and classes will provide autocompletion.




Code completion in IntelliJ IDEA knows about App Engine APIs

The IDEs also offer code inspections for common problems and issues in code. For example, PyCharm features some inspections that report the use of language features restricted on GAE and so on. IntelliJ IDEA provides similar inspections.




Google App Engine specific code inspections in Pycharm

During development, you can run your application locally without having to upload it to Google App Engine. The IDE provides a special run/debug configuration that launches your application locally.





Once started, you can navigate to it in your browser at the http://localhost:8080 URL, by default. The Run tool window at the bottom of the IDE will show the output of the GAE application server you launched locally.




Running Google App Engine Java app locally

If instead of using the Run button you use the Debug button (or Shift+F9), the IDE attaches a debugger to your application server. You can now add breakpoints in your application and inspect variables and so on using the Debug tool window once a breakpoint has been hit.




Debugging Google App Engine application in IntelliJ IDEA

Once you feel your application is ready to go live, you can deploy it to Google App Engine Appspot. From the Tools > Google App Engine > Upload App Engine app menu, you can trigger the upload. This will open a new tool window in which you enter your Google Account credentials. The IDE will run the appcfg.py tool and display the output.




App deployment from an IDE

Once the upload and deployment is finished, your application will be live. Congratulations!



As you’ve seen in this blog post, the Google App Engine integrations for IntelliJ IDEA and PyCharm enhance our tools by adding a local test Google App Engine development environment, debugging support and more. We’re not stopping here though, so keep an eye out for even more added functionality. We have some detailed tutorials available for Java and Python. Give it a try (trial versions are available for IntelliJ IDEA and PyCharm) and let us know your thoughts through the comments below.



Develop with pleasure!



-Contributed by Maarten Balliauw, Technical Evangelist, JetBrains
Email ThisBlogThis!Share to XShare to Facebook
Posted in app engine, partner | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Bridging Mobile Backend as a Service to Enterprise Systems with Google App Engine and Kinvey
    The following post was contributed by Ivan Stoyanov , VP of Engineering for Kinvey, a mobile Backend as a Service provider and Google Cloud ...
  • Tutorial: Adding a cloud backend to your application with Android Studio
    Android Studio lets you easily add a cloud backend to your application, right from your IDE. A backend allows you to implement functionality...
  • 2013 Year in review: topping 100,000 requests-per-second
    2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing ...
  • Easy Performance Profiling with Appstats
    Since App Engine debuted 2 years ago, we’ve written extensively about best practices for writing scalable apps on App Engine. We make writ...
  • TweetDeck and Google App Engine: A Match Made in the Cloud
    I'm Reza and work in London, UK for a startup called TweetDeck . Our vision is to develop the best tools to manage and filter real time ...
  • Scaling with the Kindle Fire
    Today’s blog post comes to us from Greg Bayer of Pulse , a popular news reading application for iPhone, iPad and Android devices. Pulse has ...
  • Who's at Google I/O: Mojo Helpdesk
    This post is part of Who's at Google I/O , a series of guest blog posts written by developers who are appearing in the Developer Sandbox...
  • A Day in the Cloud, new articles on scaling, and fresh open source projects for App Engine
    The latest release of Python SDK 1.2.3, which introduced the Task Queue API and integrated support for Django 1.0, may have received a lot ...
  • SendGrid gives App Engine developers a simple way of sending transactional email
    Today’s guest post is from Adam DuVander, Developer Communications Director at SendGrid. SendGrid is a cloud-based email service that deliv...
  • Qubole helps you run Hadoop on Google Compute Engine
    This guest post comes form Praveen Seluka, Software Engineer at Qubole, a leading provider of Hadoop-as-a-service.  Qubole is a leading pr...

Categories

  • 1.1.2
  • agile
  • android
  • Announcements
  • api
  • app engine
  • appengine
  • batch
  • bicycle
  • bigquery
  • canoe
  • casestudy
  • cloud
  • Cloud Datastore
  • cloud endpoints
  • cloud sql
  • cloud storage
  • cloud-storage
  • community
  • Compute Engine
  • conferences
  • customer
  • datastore
  • delete
  • developer days
  • developer-insights
  • devfests
  • django
  • email
  • entity group
  • events
  • getting started
  • google
  • googlenew
  • gps
  • green
  • Guest Blog
  • hadoop
  • html5
  • index
  • io2010
  • IO2013
  • java
  • kaazing
  • location
  • mapreduce
  • norex
  • open source
  • partner
  • payment
  • paypal
  • pipeline
  • put
  • python
  • rental
  • research project
  • solutions
  • support
  • sustainability
  • taskqueue
  • technical
  • toolkit
  • twilio
  • video
  • websockets
  • workflows

Blog Archive

  • ▼  2013 (143)
    • ►  December (33)
    • ▼  November (15)
      • Compute Engine Load Balancing hits 1 million reque...
      • Dedicated memcache is now generally available in A...
      • Development tips for Google Cloud Endpoints for An...
      • Offline Disk Import and the OmNomNom Machine
      • International Offline Disk Import now available wi...
      • Google App Engine integration features in IntelliJ...
      • Connecting mobile developers to the cloud with Goo...
      • Rovio, Freshplanet, Pocket Gems and others talk ab...
      • Build amazing real time games on Google Cloud Plat...
      • Just Develop IT Migrates Petabytes of Data to Goog...
      • App Engine 1.8.7 and a platform that is great for ...
      • Google App Engine helps MAG Interactive handle exp...
      • Applibot builds social games on Google Cloud Platform
      • How to build scalable mobile games on Google Cloud...
      • Kaplan builds online education platform KAPx with ...
    • ►  October (17)
    • ►  September (13)
    • ►  August (4)
    • ►  July (15)
    • ►  June (12)
    • ►  May (15)
    • ►  April (4)
    • ►  March (4)
    • ►  February (9)
    • ►  January (2)
  • ►  2012 (43)
    • ►  December (2)
    • ►  November (2)
    • ►  October (8)
    • ►  September (2)
    • ►  August (3)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  April (4)
    • ►  March (5)
    • ►  February (3)
    • ►  January (5)
  • ►  2011 (46)
    • ►  December (3)
    • ►  November (4)
    • ►  October (4)
    • ►  September (5)
    • ►  August (3)
    • ►  July (4)
    • ►  June (3)
    • ►  May (8)
    • ►  April (2)
    • ►  March (5)
    • ►  February (3)
    • ►  January (2)
  • ►  2010 (38)
    • ►  December (2)
    • ►  October (2)
    • ►  September (1)
    • ►  August (5)
    • ►  July (5)
    • ►  June (6)
    • ►  May (3)
    • ►  April (5)
    • ►  March (5)
    • ►  February (2)
    • ►  January (2)
  • ►  2009 (47)
    • ►  December (4)
    • ►  November (3)
    • ►  October (6)
    • ►  September (5)
    • ►  August (3)
    • ►  July (3)
    • ►  June (4)
    • ►  May (3)
    • ►  April (5)
    • ►  March (3)
    • ►  February (7)
    • ►  January (1)
  • ►  2008 (46)
    • ►  December (4)
    • ►  November (3)
    • ►  October (10)
    • ►  September (5)
    • ►  August (6)
    • ►  July (4)
    • ►  June (2)
    • ►  May (5)
    • ►  April (7)
Powered by Blogger.

About Me

Unknown
View my complete profile