Pratik Patel
Enterprise Architect
Pratik Patel wrote the first book on 'enterprise Java' in 1996, "Java Database Programming with JDBC." He has also spoken at various conferences and participates in several local tech groups and startup groups. He's the CTO of Atlanta based TripLingo (http://www.triplingo.com/)
Pratik's specialty is in large-scale applications for mission-critical and mobile applications use. He has designed and built applications in the retail, health care, financial services, and telecoms sectors. Pratik holds a master's in Biomedical Engineering from UNC, has worked in places such as New York, London, and Hong Kong, and currently lives in Atlanta, GA.
Presentations
Easy Mobile Development: Appcelerator Titanium Introduction
Titanium is an open-source development tool for producing cross-platform mobile applications by Appcelerator. Using Titanium, you develop your mobile application using Javascript coded against the Titanium API's. Titanium Developer, a management GUI for your mobile apps, invokes their compiler and builder to take your Javascript and build a native application for iOS and Android.
This session will walk you through the details of building great apps for the Android and iOS platforms. We'll talk about Titanium development, its ecosystem, and architecture. We'll spend time looking at lots of code - we'll build an app, in fact, while we discuss and explore the framework. We'll also spend some time discussing best practices, what to expect when developing against it, and the limits of this type of development.
Easy Mobile Development Workshop: Mobile GUI Frameworks
Bring your laptop! This is a workshop specifically designed to get you up and running with popular mobile GUI frameworks and build feature-rich application in 90 minutes! Install a good Javascript/HTML editor, Google Chrome, and Safari (or another newer Webkit based web browser) and the latest PhoneGap release. Also install the latest Android SDK. MAKE SURE YOU HAVE DONE THIS BEFORE COMING TO THE WORKSHOP. Of course, you're welcome to come watch as we work through the exercises, or pair up with a new friend. You can also install the latest iOS SDK if you have a Mac and are interested in iPhone/iPad development.
There are a number of great Javascript frameworks for creating slick-looking Mobile Web GUI's. In this session, we'll look at some of the popular ones while building a mobile GUI. We'll have a look at JQTouch, Jo, and jQuery Mobile.
This is a 90 minute workshop intended to teach you the basics of working with these mobile GUI frameworks. We'll work on several exercises as you build up a complete, feature-rich, mobile application that you can test on either Android or iOS devices. Topics we'll cover in this workshop: * Webkit web browser * webkit extensions * jQTouch ** Navigation ** UI widgets * Jo ** Navigation ** UI widgets * jQuery Mobile ** Navigation ** UI widgets * Creating a native app using PhoneGap ** PhoneGap overview ** Bundling your HTML/CCS/javascript in PhoneGap ** Building with PhoneGap
Test-driven JavaScript
For years, JavaScript has been the "Rodney Dangerfield" of programming languages, it got no respect. Today, JavaScript is being taken seriously, but is still struggling to be understood by many developers. One of the sore points with JavaScript development has been a universally accepted Unit Testing framework - such as JUnit in the Java world. In this session, we'll do some test-driven JavaScript development. The framework we'll use is jsTestDriver.
The jsTestDriver project provides an excellent unit testing framework for JavaScript. In this session, we'll setup jsTestDriver then apply it. We'll look at how to run it from the command line and execute it. For Those looking for IDE integration, we'll also setup the Eclipse plugin and use it to run some tests. There is an Intellij plugin also. From here, we'll go through the configuration of jsTestDriver. We'll see how to connect multiple browsers (IE, Chrome, Firefox, Safari). Then we'll spend some time learning how to setup test cases with jsTestDriver. This session's goal is to get you up to speed with the setup and usage of jsTestDriver.
Turbocharge the Web with Coffeescript
CoffeeScript is a programming language that compiles to JavaScript. The language adds syntactic sugar inspired by Ruby and Python to enhance JavaScript's brevity and readability, as well as adding more sophisticated features like array comprehension and pattern matching. CoffeeScript compiles predictably to JavaScript, programs can be written with less code (typically 1/3 fewer lines) with no effect on runtime performance. In this session, you'll need your laptop as we code through Coffeescript basics. Please bring a laptop with either Chrome and Safari installed. The coding session can be done on Windows, Mac, or Linux.
In this session we'll look at different uses for Coffeescript in the development world. We'll look at how to use it with jQuery, for example, and also with an app framework like Titanium. We'll explore the language features, take a tour of using it in different environments, and write code to demonstrate its time-saving features. We'll also spend some time looking at using it for unit-testing. Coffeescript's language features also lend it to write more maintainable code - a topic that we will discuss in detail. Finally, we'll see how Coffeescript is being wrapped into larger app frameworks like node.js and Rails 3.1.
Advanced JavaScript for Java Devs
So you think you've picked up enough JavaScript to be dangerous, but feel like the whole prototypical language thing is still a mystery. In this session, we'll go from basic JavaScript to advanced JavaScript. We'll discuss and code modular JavaScript with CommonJS. We'll look into the details of a prototype language and discuss things like parasitic inheritance. We'll also look at JavaScript libraries that will help you get the most out of JavaScript - not jQuery, but a library like UnderscoreJS and SugarJS.
This is a fast paced session meant to bring you up to speed with the latest and greatest JavaScript techniques and tools. Whether you're building client side JavaScript with HTML5 or Appcelerator Titanium, or server-side JavaScript with node.js, you'll come away with knowledge and patterns for how the pro's use JavaScript for building real apps.
Books
Visual Developer Java Database Programming with JDBC, 2nd Edition: The Essentials for Developing Databases for Internet and Intranet Applications
by Pratik Patel and Karl Moss
- Java Database Programming with JDBC by Pratik Patel and Karl Moss is an updated edition of the authors' guide to the Java Database Connectivity (JDBC) standard for database programming under Java. While the original edition was perhaps geared more to those developers who needed to write their own JDBC database drivers, a fairly arduous task, this new edition provides more background information on database connectivity issues in Java and so will be even more useful to the casual or intermediate programmer. After a general introduction to JDBC and Structured Query Language (SQL), useful even to beginning programmers, the authors start by building a simple database-aware applet. New chapters on "servlets," Java components that run on the server-side and manage database operations, as well as a general discussion of middleware technologies are particularly good. Database access for JavaBean components (from Sun Microsystems JDK 1.1) is also discussed, including working code for two database-aware beans. This book also includes a quick introduction to the Java language (which will only be helpful if you already know C/C++), a detailed reference for the JDBC API, and a working example of a text-based JDBC driver. Though this book is still oriented toward the JDBC driver developer, the authors now provide enough general discussion of JDBC architectural issues to make it worthwhile to any programmer who needs to ramp up on what JDBC is and what capabilities it offers.
Java Database Programming with JDBC: Discover the Essentials for Developing Databases for Internet and Intranet Applications
by Pratik Patel and Karl Moss
- Java Database Programming with JDBC by Pratik Patel and Karl Moss is an updated edition of the authors' guide to the Java Database Connectivity (JDBC) standard for database programming under Java. While the original edition was perhaps geared more to those developers who needed to write their own JDBC database drivers, a fairly arduous task, this new edition provides more background information on database connectivity issues in Java and so will be even more useful to the casual or intermediate programmer. After a general introduction to JDBC and Structured Query Language (SQL), useful even to beginning programmers, the authors start by building a simple database-aware applet. New chapters on "servlets," Java components that run on the server-side and manage database operations, as well as a general discussion of middleware technologies are particularly good. Database access for JavaBean components (from Sun Microsystems JDK 1.1) is also discussed, including working code for two database-aware beans. This book also includes a quick introduction to the Java language (which will only be helpful if you already know C/C++), a detailed reference for the JDBC API, and a working example of a text-based JDBC driver. Though this book is still oriented toward the JDBC driver developer, the authors now provide enough general discussion of JDBC architectural issues to make it worthwhile to any programmer who needs to ramp up on what JDBC is and what capabilities it offers.
Java Programming for the Internet: A Guide to Creating Dynamic, Interactive Internet Applications
by Pratik R. Patel, Alan D. Hudson, and Donald A. Ball
- Enables readers to master the Java programming language for internet applications while expanding the scope of online development, and the accompanying CD contains powerful sample applets and a copy of Netscape Navigator. Original. (Intermediate).


