Learning programming from scratch for phone apps

In summary: Android Studio is a great environment to start with, but I don't think you need to spend a lot of money on it. There are also other environments like Appcelerator Titanium and Eclipse.Once you have a development environment, you need to create a project in that environment. This can be done by selecting File > New Project and filling out the form.The next step is to select the project and click the Properties button.In the Properties window, you will need to specify the following:1) The package name for your project.2) The class name for your main activity/application.3) The target device for your app. (iPhone, Android
  • #1
diredragon
323
15
I wish to be able to create android and iphone games and apps but currently know nothing about programming. With this in mind, what do you suggest doing first in a form that you suggest the programming language i start learning first, textbook that i should use and program that i will write on. You can then make future suggestions and so on...
I am very grateful if you allow yourself to answer this helpfully, thanks :)!
 
  • Like
Likes Pepper Mint
Physics news on Phys.org
  • #2
The three most common choices:

1) Write it for iOS using the Apple SDK and then rewrite it for Android (Objective-C / Swift for iOS and Java for Android) which is the route most game development houses go.

2) Unity Game Engine which can export to either Android or iOS (coding in Javascript). Your games can be very immersive and quite awesome. Check out some examples at the Unity site (http://unity3d.com/)

3) Web app using Apache Cordova and bind with either Android or iOS module (coding in Javascript or Elm)

Since you have no programming experience, I would suggest another route by learning to code with Processing (processing.org) and then using the Processing Android mode and the Android toolkit to create an Android app. I've seen some pretty cool apps come from this mix of tools.

Unity is definitely great for games and is platform agnostic meaning you write it for one and it works on other platforms.

The third option is great for light weight apps (not CPU intensive eg a lot of changing graphics) that need to look the same across platforms and that don't need every device feature. Apache Cordova provides access to many common device features already. Having mastered this option, you become a web app programmer and your apps can be extended to mobile apps via Cordova.

Elm (http://elm-lang.org/) is a relatively new programming language that surpasses and replaces Javascript on the client side. It has many cool examples at its site and it has the time-travelling debugger that can make game debug real easy.

Here's an Elm video to watch:

 
  • Like
Likes Pepper Mint and berkeman
  • #3
Hi,

Wouldn't suggest learning the way I did, it was rather tedious, but beginner courses that walk you through entire projects are a dime a dozen! I'd check out lynda.com, codeacademy.com , teamtreehouse.com has IOS and Android tracks I believe, and pluralsight (https://www.pluralsight.com/courses/android-start-developing).

If the end goal is to build a portfolio finding a "track" that includes version control system (like git) would be a wise choice. This way you can showcase your efforts to future employers. I believe most teamtreehouse.com tracks include tutorials on git!

I guess if I was going to give additional advice it's try not to feel overwhelmed. You will never have the answer to everything and you will always need to turn to peers. Post on stackoverflow.com when you get stuck, google errors you find, use all resources to solve the problems in front of you!

Cyrus
 
  • #4
Hey diredragon.

Do you have any specific applications that interest you?

Aside from tutorials and other programming specific resources, I'd recommend finding a code-base that is in line with your interests and get to a point where you can learn the existing code (that is as well written as you can find) and slowly modify and add to it.

Think of it like learning to write from good authors - if you find a good author who writes well and learn from them then you have a better chance of doing the same.

Writing code is like writing a book - be it a novel, textbook or something else: you have to organize your thoughts, processes, and information in a way that makes sense individually and collectively. Well written code has properties that bad written code does not and identifying these is necessary to be able to write good code.
 
  • #5
Start learning a programming language, and then learn about software and programs. Dive in and learn everything you can. There's numerous tutorials on how to make iOS and Android apps, you can follow them without using a lot of brainpower and/or creativity. While you go through the tutorials be attentive and try to understand as much as you can, and you will develop a more intuitive sense of how to program.
Read as many supplemental material as you can to help your understanding. There's books, Udemy, Codecademy, the resources are endless.
 
  • #6
I can share my learnings with you since the time I have got hands-on with Android programming.
Building an Android app comes down to two major skills/languages: Java and Android. Java is the language used in Android, but the Android part encompasses learning XML for the design of the app, learning the concepts of Android, and using the concepts programmatically with Java.

Once you learn Java and XML (XML is really easy to get used to, and you should learn the language as you program your app rather than learning it beforehand like you would with Java), you need to learn how to connect these two using Android principles.

For a total beginner, I recommend learning Java. There are no shortcuts here, you just have to learn Java.

Now for a total beginner, I recommend YouTube tutorials to get the basic idea of how to install Eclipse (the Integrated Development Environment, or IDE, for Java) and the Java Development Kit (JDK). It also helps to get the basic idea of syntax behind Java concepts, such as for loops and if statements.But from then on, after you have learned the very basics, I HIGHLY recommend ditching the YouTube tutorials in favor of a book or a lecture series online.
You can buy a course online or if you are looking for something free you can view this.
Now, coming to Android Studio and Eclipse:
Android Studio and Eclipse are IDEs or Integrated Development Environments. You could code Java using other programs that run the code, but I personally am not too familiar with these and would not recommend these at all to a beginner.

The IDEs compile and run your code with just a touch of a button, unlike other applications where you would have to write some code to compile and then write some code to run. You have to install the Android SDK with Eclipse, but all of the installation process is covered in depth on the Android developer's website.

I took almost exactly two months to complete my app. When I started off, I spent 4+ hours a day reading the Big Nerd Ranch book and following the tutorials to make the apps in the book. Time flew by when I was actually making my own app, because solving a small problem, such as saving data, took me a while to fully understand the material since it was new to me.

I had a bunch of time to do this because I was on summer break and had nothing else to do. I used Google to search up any questions that I was stuck on, which was a lot of the time because I was new to Android. The top results were usually Stack Overflow, but when Stack Overflow didn't have an answer that worked for me, I posted on /r/androiddev Subreddit and they were extremely helpful.
 
  • #7
The members who responded so far seem like they are very knowledgeable and studied very much programming and made some programs, and so my suggestion might not fit very well since I am not so well studied about this and only wrote some BASIC programs as a hobby; and had only one single beginning course, decades ago. What is so bad about starting with a beginning programming course from a community college, and then study upward from there? The O.P. said he seems to suggest that he does not know any computer programming yet.
 
  • Like
Likes Shreya Pandey
  • #8
symbolipoint said:
The members who responded so far seem like they are very knowledgeable and studied very much programming and made some programs, and so my suggestion might not fit very well since I am not so well studied about this and only wrote some BASIC programs as a hobby; and had only one single beginning course, decades ago. What is so bad about starting with a beginning programming course from a community college, and then study upward from there? The O.P. said he seems to suggest that he does not know any computer programming yet.

You can begin anywhere. Getting started is half done :)
 
  • #9
symbolipoint said:
The members who responded so far seem like they are very knowledgeable and studied very much programming and made some programs, and so my suggestion might not fit very well since I am not so well studied about this and only wrote some BASIC programs as a hobby; and had only one single beginning course, decades ago. What is so bad about starting with a beginning programming course from a community college, and then study upward from there? The O.P. said he seems to suggest that he does not know any computer programming yet.
Shreya Pandey said:
You can begin anywhere. Getting started is half done :)
Maybe my point was not too clear, so let me be very blunt.

If someone wants to learn to program and is LOST from the start, then the best option is to start in an organized community college classroom and receive instruction in the traditional sense guided by a teacher and a textbook and the equipment made available at the institution.
 
  • Like
Likes jedishrfu and Nidum
  • #10
symbolipoint said:
Maybe my point was not too clear, so let me be very blunt.

If someone wants to learn to program and is LOST from the start, then the best option is to start in an organized community college classroom and receive instruction in the traditional sense guided by a teacher and a textbook and the equipment made available at the institution.
Good advice, IMO.
 
  • Like
Likes symbolipoint
  • #11
Any books for c beginner
 
  • #12
There are many introductory books on C. I learned from Kernighans C book. However, many others are just as good.

Also do a google or YouTube search and you should find many tutorials for learning C.

As this is an old thread and the discussion is complete, I will close it now.
 
Last edited:

What are the basic programming languages needed to create phone apps?

The most commonly used programming languages for mobile app development are Java, Objective-C, and Swift. Java is used for Android apps, while Objective-C and Swift are used for iOS apps. Additionally, knowledge of HTML, CSS, and JavaScript may also be beneficial for hybrid app development.

Do I need any prior programming experience to learn how to create phone apps from scratch?

No, prior programming experience is not required. However, having a basic understanding of programming concepts and logic will make the learning process easier.

What are some good resources for learning programming for phone apps?

Some popular resources for learning programming for phone apps include online courses such as Udemy and Coursera, tutorial websites like W3Schools and Codeacademy, and books like "The Complete Beginner's Guide to iOS App Development" by Ray Wenderlich.

How long does it usually take to learn programming for phone apps from scratch?

The time it takes to learn programming for phone apps varies depending on the individual's learning pace and dedication. However, with consistent practice and dedication, it can take anywhere from a few months to a year to become proficient in mobile app development.

What are some key skills and concepts I should focus on when learning programming for phone apps?

Some key skills and concepts to focus on when learning programming for phone apps include understanding mobile app design principles, mastering the chosen programming language, knowing how to use development tools and frameworks, and being familiar with the app submission process for app stores.

Similar threads

  • STEM Academic Advising
Replies
21
Views
1K
  • Computing and Technology
Replies
3
Views
993
Replies
6
Views
2K
  • Programming and Computer Science
Replies
3
Views
643
Replies
40
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
8
Views
1K
  • STEM Academic Advising
Replies
3
Views
766
  • Programming and Computer Science
Replies
16
Views
2K
  • Computing and Technology
Replies
7
Views
1K
  • General Discussion
Replies
3
Views
1K
Back
Top