Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

How is a real web/android Java app made? what am I missing in my tool-kit?

 
Justin Robbins
Ranch Hand
Posts: 114
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've made a few basic programs, your usual input/output "ask user this and return that". Then did a fairly complex project where I had to use multiple nested for-loops to invert colors, flip, and create mosaic effect to an inserted image. Also did data analysis on CSV file and extrapolated creative and useful statistics. I understand what objects, classes, variables, looping, if-else, staticVsInstance, imports, collections, arrays, polymorphism, recursion, inheritance, encapsulation and many other CORE java aspect. But after taking my first semester in computer science using Java, I still feel like I don't know how to create real programs, like the ones I see online or in app stores. Another thing which bothers me is this thought that, if someone were to ask me to create a demo app of facebook/snapchat/angry birds or the like, I wouldn't even know where to start. How long does it take to get to that level of programming to where you can just create the app you see in your mind. What am I missing here? I feel like I've learned/covered a lot in my last semester. It feels like I have a limited tool kit to access making it hard to make anything significant.

Thank you
 
Tim Moores
Bartender
Posts: 3134
50
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm afraid there's a great deal to learn than just a programming language in order to create ready-to-run applications, whether for the desktop, the web, or mobile.

Web apps, for example, also need you to create a GUI via HTML or a templating language like JSP, often accommodated by additional JavaScript code. Web apps also frequently connect to databases, so some knowledge in that area (and the involved Java APIs like JDBC) would be highly useful.

For mobile apps as well you'd have to create a GUI (Android has extensive Java APIs for this in addition to an XML language that describes the GUI elements). Mobile apps also often connect to servers, some knowledge of network communication, especially HTTP, would be useful. But that's not required to get your first app up and running. The Android sample apps can be found at https://developer.android.com/samples/index.html
 
Justin Robbins
Ranch Hand
Posts: 114
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Tim Moores wrote:I'm afraid there's a great deal to learn than just a programming language in order to create ready-to-run applications, whether for the desktop, the web, or mobile.

Web apps, for example, also need you to create a GUI via HTML or a templating language like JSP, often accommodated by additional JavaScript code. Web apps also frequently connect to databases, so some knowledge in that area (and the involved Java APIs like JDBC) would be highly useful.

For mobile apps as well you'd have to create a GUI (Android has extensive Java APIs for this in addition to an XML language that describes the GUI elements). Mobile apps also often connect to servers, some knowledge of network communication, especially HTTP, would be useful. But that's not required to get your first app up and running. The Android sample apps can be found at https://developer.android.com/samples/index.html


Thank you!
So on top of my CORE Java there is a wealth more to learn before I can start using Java for web/desktop/andriod apps. I don't know what a framework is, but I read you can use the Spring framework with Java to do the heavy-lifting for making a graphical user interface. I know the basics of HTML, CSS, and JS. What exactly is JSP?

I have a basic knowledge of databases, so a database is an area of memory where amorous memory is stored on either a virtual or real web server. And a database comes by downloading database software like MySQL, then you start adding objects (tables = row + col) to the DB (through command line) and use PHP for a nice interface to gather data or retrieve it. That's my understanding of DB's.

What's the difference between an API and a Framework? they seem similar.

No idea how to use HTTP or XL or JDBC.
 
Knute Snortum
Bartender
Pie
Posts: 2903
62
Chrome Eclipse IDE Java Postgres Database VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
JSP stands for Java Server Pages.  It's a technology that helps you create dynamic web pages. 

JDBC is a technology that connects a database to Java.  Hibernate is another.

An API is an interface for programmers to interact with an application.  It is the public face that the app or class presents to the world.  The String class has an API that you can see in the Javadocs.

A Framework is a set of programs that help you do a specific task.  Frameworks has APIs so you can interface with them.
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65337
97
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Justin Robbins wrote:What exactly is JSP?

Read this article
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65337
97
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Justin Robbins wrote:What's the difference between an API and a Framework? they seem similar.

The API is the callable interface that a framework exposes.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic