How to pick-up suitable technologies for your new web project.
In this development field , There are more new technologies coming up everyday . As a software developer you need to select the best technology for your project. It's depends on your project requirement. Let's see how to pick-up a best technologies to build a awesome software.
First we should consider about the architecture of the application. We should analyse 2 things,
- What kind of architecture that we going to use. like (MVC,SCS)...
- Which the best framework to working with...
Picking-up programming languages is very important thing.
We should consider about
- performance - The native performance of language.
- frameworks - Available frameworks for that language.
- resource availability - The resource to learn about the language & able to find solution for any issues.
- support & documentation - Best official support service & documentation.
- maintenance - Easy maintainable.
- extensions - Able to add additional extensions & able to remove unwanted.
Databases are very important thing in software. There are 4 main types of databases,
- Relational Database (MySQL,MSSQL)
- Objection Relational Database (Posgre SQL)
- Graph Database (Neo4J)
- No SQL / Key-Value Database (MongoDB,DynamoDB,FireBase)
Before pickup a database you need to analyse what kind of data that you are going to use in you app. simply like (plainText,encrypted data,BLOB string,hashes).
Then draw a simple map of your data flow. Analyse the relationships between the entities. Then pick which database is suite for you.
There are few popular server software are available.
Apache - Popular server for Most of Web programming languages.
Nginx - Most populate high performance web server with built-in HTTP cache, Proxy & load balancing .
TomCat - Webserver commonly use for JSP applications.
IIS - Official Webserver for .NET
Hosting is a very important thing. There are few tips for find correct Hosting Providers.
- Always choose nearest data-center to your target clients.
- Consider their support service.
Popular Web Hosting/Service Providers.
- Amazon Web Services
- Google Cloud Platform
- Microsoft Azure
- Digital Ocean
- Blue Ocean
---- Other Few Production Level Tips (High Cost, Better Performance, Large Projects) ----
Index Database for high performance when retrieving data.
Use Database cache (redis,memcached) to speedup data retrieve & reduce database load
Cluster your database for high availability & performance.
Use CDN to fast deliver static files and reduce the time to load the application.
Use load-balancing to reduce traffic & prevent server down & increase performance. (Zero Downtime).
Use SSL for webserver & database server to make secure connections.
Always update the softwares to get patches from vulnerabilities & attacks.
Use Build tools & CI/CD to Deliver & Build & Deploy applications automatically & quickly from repository.
dev_lak last edited by
very usefull bro,,, thanks
@dev_lak You are welcome
root last edited by
Thnx bro..always we learning new things.
waex97 last edited by
GraphQL is not a database... it's just api
@waex97 sorry bro i was a mistake, thank your for your notice
isuru2014 last edited by
Thank you bro
thameemziyatha last edited by
@thameemziyatha thank you bro