Apr 19 2011
It is often noted that there’s a difference between what people learn in school and what they need to know in real life. In school we learn how to draw up complex project plans, solve interesting and difficult programming challenges, or develop a marketing strategy. On the job we’re often given the task of processing forms, or taking care of other less glamorous duties to run a business. I remember I once had a true internship. By this I mean a large part of my duties entailed scanning blueprints and saving them on a hard drive. I slowly watched my idealistic bubble crack, crumble, and shatter into a million pieces. Boring jobs have never been my forte.
In computer science the curriculum largely revolves around the programming languages themselves. They teach you the basics about hardware architecture, and how low level languages are able to communicate with it, and then ultimately how high level languages work. For those who aren’t familiar, high level languages are Java, C++, and Python, (the three official languages of Google, of course!). And low level languages are assembly language and machine code. It ultimately gets translated to a bunch of ones and zeros that take the bus certain places. I fell asleep a few times in computer architecture class, but you get the gist. The inner workings of the computer are fascinating and help you have a good understanding of why C++ code works, but it doesn’t have as many practical applications. In the real world you often just need to know how to code at a high level.
There’s one critical aspect to coding that I learned very little about in school- the software development process. This includes how to work with text editors, code repositories, and bug tracking systems. These are the backbone of every successful software project, yet it’s typically learned entirely on the job. One of the key pieces of the software development puzzle is using an effective text editor or IDE. Although many utilize more advanced text editors, I recall in class more than a few people that coded in the ever reliable Windows Notepad. Although it gets the job done, it’s like making engineering computations with an abacus. It’s just not the right tool for the job.
When it comes to things that you might not learn much about in college, mobile phone development is pretty high on the list as well. Sure there may be a few graduate courses on it, or nowadays they may even include them during undergrad as well, but it’s still a field that most coders pick up on their own. As such, there’s an ever evolving set of tools to assist with the process. One such tool is Basic4android, which is a powerful development environment targeted for Android phone development. It’s a tool that will make Android software development faster and easier.
Basic4android (found at basic4ppc.com) is an IDE designed specifically and solely for Android mobile application development. It uses a language similar to the ever popular Visual Basic, and also provides additional support for objects. It comes with a fully featured GUI designer which supports multiple screens and orientations. Once your programs are compiled, they are ready to be deployed on Android, requiring no other run time dependencies. Here are just a few examples of the IDE in action as well as the screen shots of the end result.
Basic4android comes with an impressive list of features. One of my favorites is that you don’t need to write any XML code. It also comes with a complete set of libraries which provide components to include GPS, animations, camera access, text to speech, voice recognition, and many more. Complete documentation can be found here.
Learning how to use an IDE customized for the Android is something you would never learn in school. But that’s one of the things that makes software development great. You learn the tools you need as you go along. The education gives you the foundation; it’s up to you to do the job. Basic4android is the right tool for the job when it comes to Android development. It takes the parts of developing code that are tedious and error prone, and provides you with an interface to effectively produce top quality Android apps.