Programming Your Application
Typically when parents thinking about enrolling their kids into coding classes, many of them would often choose the trendiest programming language, which at the time of this writing, unsurprisingly is Python. Undoubtedly, Python is popular these days, especially in the area of data sciences, artificial intelligence and machine learning. However, there are also other areas of software development in which other programming languages are more suited, and are in a wild demand as well. In this article, we are going to talk about a specific type of software development — Application development, and what languages are used.
1 What is Application Development?
When we talk about application, we usually mean the software that human directly engages with. Let’s take an online game as an example. In this context, the application will be the game people directly play with on their computers, whereas all the backend services will not be considered as part of the application. Another example will be a banking app on your phone. The app itself is the application, but all the services which store your account information, and process the transactions will not be included as the application, from the software development perspective.
2 What are the types of Applications?
There are many different kinds of applications, especially if we are talking about their purposes. It is probably easier just to separate them by the platforms they are developed for. For instance, there are Web applications, which are built to run in browsers such as Chrome, Safari and Firefox. Then there are iOS applications, which are built to run on Apple’s iPhone and iPad, and Android applications, which runs on Google’s Android operations system. Of course, there are also Windows applications, macOS applications, etc.
3 How are these Applications developed?
Typically each platform, such as Android, iOS, Windows, etc, all have their own development environment and programming languages, and associated toolchain. Developers use this set of tools and languages to develop their applications for each platform. Let’s take Windows application for example, on the Windows platform, developers typically use Microsoft Visual Studio, and a programming language called C# to develop apps. For iOS and macOS, Xcode will the main development environment, and Swift or Object C will be the primary programming language, depends on the platform of choice.
4 What does it mean for my kids?
While picking up a subject for your kids to learn for coding, instead of just Python, parents may also want to give some thoughts for a practical language for building applications. In fact, building a real-world Web application or iOS app might be more fun than using Python to plot data, isn’t it? BayCodingClub offers classes such as Introduction to HTML and CSS, and Javascript for beginners. Collectively these are the fundamental building blocks of building Web applications. In these courses, students will learn the basics of HTML and CSS, such as elements, the position of elements, CSS box models, etc. The courses are completely project-based, students will immediately apply what they learned in the class into a real-world web site. Students will gradually progress into more advanced topics such as Javascript to add more interactivity to their websites.
For Web applications, things are a little bit different. Web applications are intended to be cross-platform as much as possible, as such, they don’t use above mentioned programming languages. Instead, almost all the Web applications are built using three programming languages, HTML, CSS and JavaScript. All these three languages are platform-independent to a large extent, meaning as long as they conform to their specific standards, the codes should be able to run regardless of whether it is running within Chrome, Safari, or Firefox. The development environment for the Web application is also different. Typically developers don’t use proprietary tools such as Visual Studio or XCode, instead, they opt to use open source tools such as node.js, Sublime Text, etc as these tools can run on different platforms.
BayCodingClub will also offer more application programming languages in the future.