Front End
You've got basically anything you want, nowadays this is usually web, hybridish or native mobile (can also be a desktop GUI application).
The common languages are Angular, Ember, React, Aurelia, Boostrap, and whatever else. These are called front end frameworks. They are written in Javascript which is basically what makes dynamic things happen on HTML (otherwise static) web pages, and CSS is used for styling.
HTML provides the core elements like buttons, input boxes, etc. and JavaScript and CSS let you style them to make them look pretty. JS also makes everything dynamic. You know.. if you hover over a name on facebook and it shows you info on that person? That's JS at work. You can actually view this on any page by right clicking and hitting "Inspect Element" or something like that.
You can view the raw HTML framework of every page by hitting Ctrl+U or right clicking and hitting View Source.
For styling, you've got like SASS and LESS for that (look up those + CSS for more info), along with others. Bootstrap also does a lot of this stuff for you and looks dope. Check it out.
If this is going on a phone, it can also be done with something like React Native, which has the benefit of working on both iOS and Android without additional development needed. Ionic is similar.
These sorts of things just use JS, often with one of the frameworks I just mentioned for the code.
Beyond that you have standard native mobile development languages like Swift (nice) and Objective-C (a pain) for iOS, and Android Java (good) for Android.
Native apps are installed locally onto the phone. You can use them offline. They may access online resources, but the app is fully offline. Also they are not coded in a web language.
Hybrid apps are generally kind of half and half. They have a native dock if you will, but they are written in web languages (even if you can access some data offline), and generally sync with the web regularly.
Web apps are only viewed through a browser without a native "dock" so to speak.
Native apps can take full advantage of all the phone's hardware. Hybrid apps can take some advantage of this, and web apps are limited to what the browser can provide.
Data Transport
All of the info you need comes up from the back end through a data transport layer. This can be anything, but typically it's done through a REST API.
They look like this:
yourdomain.com/api/credentials/get
yourdomain.com/api/credentials/set
You can do this however you like. You don't need the fancy standards. Often this is done using POST, but if you need to pass a lot of data all the time, you're better off opening a socket. (Look all this shit up for more info if you want it).
Random side note: sockets + JSON + Node.js makes a decent back end server for gaming.
JSON is an object notation. Looks like this:
{"propertya":5, "propertyb":"value"}
A bit more complex than that, but not much more. You use that to pass info back and forth like if the front end needs someone's first and last name, you might hit a back end REST API called yourdomain.com/api/names/
{"first_name":"Carlos", "last_name":"La Borde"}
XML isn't much different, though nicer for viewing out of the box IMO. It's a bit heavier:
<xml ..../>
<firstname>Carlos</
<lastname>La Borde</lastname>
</xml>
Because it's a bit heavier, it's fallen a bit out of fashion, but it still gets the job done effectively. K... now the back end.
Back End
A lot is made of web languages, but truth is, you can use whatever you like. I have some back end systems hooked up to REXX (ancient IBM language) and they run like a charm.
The standard ones you'll hear a lot about nowadays are PHP, Ruby (+on Rails), Python, and Node.js.
All of them are good except PHP which is still good in smaller projects and for newbies, but IMO teaches you bad habits and has some serious flaws. I'm not saying you can't use it, just read up and consider your use cases before you invest a lot of time in it. A lot of people get bogged down with PHP because it's easy and don't want to change.
IMO Ruby, Python, and Node work brilliantly with REST out of the box, and Node works brilliantly with JSON, because.. well, it's JS.
You're not limited to those. Java and C# also work reasonably well in the back end, though they're a bit heavier. Personally I'd hold off using them unless it was for a big enterprise thing.
Also.. like I said technically you can use any language (C++ works too). Hell, you can literally use goddamn Assembly (I know of a guy who does).
DB Transport Layer
To get at stuff in the back end.. You need a way to connect your web language to a DB. For some languages and DBs, this is a piece of cake.
With Node and MySQL or mongo you just use npm to install a package, include it and you're good to go.
For some other languages, like Java or DB2, it becomes a bit of a pain. You may have to use something like ODBC or JDBC (which you install on your server and pick your DB). The details of those of the scope of this answer, but they are out there and those are what to look for if you're stuck trying to connect a DB to your language.
Databases
OK now onto the databases themselves. There are a shitload of pros and cons and best practices for different use cases. This is kind of important, so do the research given what you're trying to do.
The standard ones are SQL. This stands for Structured Query Language. Basically that means in your language you create a string called a query and run it against this database and it returns what you asked for. This is in a semi English language.
Here's a sample query:
- SELECT * FROM users WHERE email_address='[email protected]'
Saurabh SarkarPosted Jul 19, 2016, 3:14 AM
Thanks
Shobana JPosted Jul 19, 2016, 2:49 AM
Nice one
Saurabh SarkarPosted Jul 18, 2016, 9:34 AM
Thanks
kalu singh raoPosted Jul 18, 2016, 8:52 AM
Nice...