Skip to main content

App Development.

Apps are an integral part of our life. With the introduction of smartphones, tablets, phablets, and many more(it would be a really long list to type) every user, who may not know anything about “behind the scenes” of an app development, feels an  incomplete day without using them. We all are attached to them, aren’t we?
If you want to know how to make one of your own then it’s the perfect article for you. Well it’s not too easy as it looks as it involves a number of steps which we will be dealing subsequently.
Image result for app development
source: google images

 First of all, you should expertise in a Server –Side Scripting language. Now elaborating “what’s a Server –Side Scripting language”: When the client uses a webpage containing server-side scripting to make a request to the server, the server first processes the request and then renders the page or process required. The scripting just tells the server what to do with a particular kind of request, thus makes the webpages interactive. Hence knowing the Scripting language in depth is important. Since, the whole processing occurs on the server itself, it adds a security layer to the data and the source code as well. There are various scripting languages available, they are:
.ASP, ASP.NET, Perl , .CGI ,.IPL, .Perl, PHP, JSP, Ruby, Python , C#, Node.js

After scripting instructs the server there is a need of fetching data from the Database. Thus, you should know about the handling of a database as a data storage solution. A Database should be chosen on the basis of its ease of usage (user interface), its integration with other technologies, scalability, efficiency etc. You need to learn Relational Data-Base Management System or SQL, as they are suited for web development Such as:
My SQL: It is available with tons of help sources over the internet and a free community-version. It has two separate downloads : one for design and the other one for DBMS. Can run on all types of OS.
MS Access: Has only one packaged download but has limitations for OS, data handling capacity.
Microsoft SQL Server , Oracle Express Edition,  DB2 Express C: has more or less same tools just differ in the SQL syntax.
Here is a complete list of RDBMS along with their description: https://database.guide/list-of-relational-database-management-systems-rdbms/

Now, how the data is exchanged between a database and any software accessing it? The answer is the functioning of an API (Application Programming Interface). Basically an API is an “interface” which abstracts the underlying implementations and only provides the tools, technologies, the developer needs for programming, thus simplifies the work for application developers. There are many types of APIs such as Library and framework, Operating Systems, Remote APIs, Web APIs etc. Here we would discuss about Web APIs(it’s a Microsoft framework), which helps to process the request-response cycle (The HTTP requests and the JSON or XML format response). The web API helps the integration of multiple APIs. For more details https://en.wikipedia.org/wiki/Web_API
The whole development of the application takes place on a Back-end framework, which consists of tools and the environment for building an application. There are separate frameworks for each web-scripting language, like Rails for Ruby, Django for Python, Symphony,  Laravel for PHP etc.  A detailed guidance is given here or https://medium.com/@shahroznawaz/best-backend-frameworks-to-build-your-next-web-application-2f89f08f34e3

Now, for everyone’s accessibility, the application should be deployed on a Web Server. It processes the HTTP requests and fetches the required web-page for the client. A web host is a company that leases space on servers to serve the webpages. Apache, Apache Tomcat, Windows IIS, NGINX, Oracle Weblogic are some of the known servers, Or  you can learn about Cloud Hosting Service/ cloud computing integration. Instead of using individual systems/servers we use virtual servers in cloud computing. The three main types of cloud computing: Saas (Software as a Service), Paas (Platform as a Service) and Iaas (Infrastructure as a Service). Saas is for end-users and Paas and Iaas are for IT personnels. Further details can be found on https://www.pcworld.com/article/253486/how_to_choose_a_cloud_hosting_service.html

There are some other terms which you need to be aware of:

Content management system: It enable the creation, editing, modification of the web-content. WordPress, Blogspot are the examples of it.

Git :The version control system: It is built for collaborative development, keeping a track of changes in the files. Thus it also helps in app-development if you are working in a team or you need someone’s support for modifying or developing the code.

Ajax(Asynchronous Java-Script and XML) : It is a technique or a concept rather than a language or framework that allows you to update a web-page without reloading the whole page. It saves time as network utilisation is minimised, thus makes the application more user-friendly . It’s a recommended source to learn AJAX: https://www.w3schools.com/xml/ajax_intro.asp *

Once you are ready with the app, “deploying it on the web” is not equivalent to “your job is done”. Things to consider:
·         It should pass several tests first like performance test, usability test, functional test, regression test, fit and finish test, User acceptance test, Device compatibility test etc.
·         After deploying it to the cloud, web, submit it to the app –stores.
·         You can keep a check off the crashes using the tools Sentry, HockeyApp etc.
·         You can always use the modern analytics System for better analysis of your app for further development and improvement.

Tutorials for learning app-development:
For Android: https://developer.android.com/guide/
                       http://www.anddev.org/
For iOS : https://appleid.apple.com/#!&page=signin
            http://www.iphonedevforums.com/forum/
For Microsoft : https://mva.microsoft.com/training-topics/app-development#!lang=1033

Happy Learning!

Hope you enjoyed reading the article, please give your feedback in the comment section.

Comments

Popular posts from this blog

IoT: The Magic Wand Technology.

Just imagine how exciting and amazing this w orld would be if everything around us is connected, it would not only save our time but also reduce our unnecessary tensions and stress. And since human-kind has evolved and developed many-folds, thus, we have a super-power technology to turn this into reality and that’s termed as “ IoT ” or “ Internet of Things ” - the connection of Physical World with the Cyber World . Sounds fascinating, isn’t it? Now, let us see how it works in reality . The Cyber-Physical system is configured or designed by following these functions: ·         Connection level : It involves attachment-free or wireless communication, monitoring and recording the physical conditions of the environment using sensors and organizing them at a central location. ·         Conversion level (Data-to-information): Involves data-correlation, tracking of machine-failures, malfunctions, reduces dow...

All you want to know about UX/UI designers.

Have you ever imagined how do they build such beautiful web-pages and so much user friendly websites, or you yourself have dreamt of developing one of your own? Then you must be aware of UX/UI designing and learning about its applications would give you a complete idea of what you want to build and how would it look like in the real world. source: Google Images UX Design refers to the term  User Experience Design , while UI Design stands for  User Interface Design . Both elements are crucial to a product and work closely together. But despite their professional relationship, the roles themselves are quite different, referring to very different parts of the process  and the design discipline. Both of them have a plain goal of making the user interaction simpler and efficient . The User Experience Design or UX Design is more or less non-technical, as it involves content-development, prototyping, analysis and iteration, basically the interaction with the users ...

What is BIG DATA ANALYSIS ?

Big data analytics is the process of examining large and varied data sets -- i.e., big data(Black box Data, Social media Data, Stock Exchange Data, Search Engine Data, Transport Data, Power grid Data) -- to uncover hidden patterns, unknown correlations, market trends, customer preferences and other useful information that can help organizations make more-informed business decisions. Volume, Variety and Velocity are the three V’s of Big Data. A person involved in this kind-a-job is called to be a “Data Analyst”. And to receive this tag by large group of people he/she needs to be super good at statistics and if accompanied by software developing skills he/she would be called as “Data Scientist”. How to be a renowned and efficient data scientist? Technical Skills that the person needs to be good at are: Statistical methods and packages (e.g. SPSS) R and/or SAS languages Data warehousing and business intelligence platforms SQL databases and database querying languag...