Friday, June 22, 2018
Monday, June 4, 2018
Best Software Architecture
Always program your #software into separated layers to be able to add to it easily and smoothly, the most preferred layers for me are:
1- Data Store
2- Business Logic
3- Web API
4- UI (Desktop - Web - Mobile - Arduino)
By this architecture, whatever the #UI you will use, it shall be easily integrated without doing too much work.
One of the most successful combination for doing this architecture is using the following with each layer:
- Data Store: Any database is recommended but if you are looking for a light one you can use SQLLite, for me I prefer using MSSQL.
- Business Logic: If you are fond with Microsoft and C#, you can do it by starting your Windows Class Library project template from Visual Studio.
- Web API: Looking for a fast user friendly Web API, user ASP.NET Core 2 for creating your Web API, again you can find this template in Visual Studio 2017 - Sure you can use any technology for creating your restful api.
- UI: The most interesting part, you can easily integrate any UI type with your project, if you used the above architecture
- Web App : for me I prefer Angular for the web app, fast easy and maintainable, you can use of course whatever technology you like ASP.NET MVC, ASP.NET Web Forms, PHP, or even Java.
- Desktop App: As you guessed, yes I prefer WPF for developing desktop application, but you can use any.
- Mobile App: Mobile, it really rocks to access the world from your mobile, if you are IOs developer, Android Developer or cross platform maniac, the above architecture rocks for the mobile, for me I prefer using Native Mobile Development either for Android or IOs
- IOT: What can I say, I have discovered a new whole world when I started reading about IOT, my dream about the smart home, the smart car and the smart city became true, you can start your IOT project by using any micro controller board, the most famous are Arduino and Raspberry PI, for me I'm in love with Arduino, it is simple, light, friendly and there are lots of Arduino addons in the market, sensors, cameras, networking, etc., whatever you are dreaming you will find easily and cheaply.
Your limits is the sky when you extend the capabilities of your software to control the surrounding hardware.
Labels:
Angular,
Arduino,
asp.net,
asp.net mvc,
asp.net web forms,
c#,
Desktop App,
Mobile App,
MSSQL,
Restful API,
Software,
SQLLite,
UI,
Web API,
Web App,
WPF
Subscribe to:
Comments (Atom)

