Skip to content

Software Development at Program Tom LTD

Place for coding, programming, development and software in general.

Menu
  • Blog
  • PDF Booklets
  • Dev Utils & Content
  • Java Spring Boot Or Web Apps
  • English
    • български
    • English
    • Español
    • Português
    • हिन्दी
    • Русский
    • Deutsch
    • Français
    • Italiano
    • العربية
  • About Us
  • Flutter Apps
Menu
What Technology to choose for specific Software Project?

What Technology to choose for specific Software Project?

Posted on September 5, 2023September 9, 2023 by Toma Velev

What Technology to choose for specific Software Project? The answer of this question is crucial in long term success, sustainability, developer and user experience, expenses and more.

You could read my previous posts related to this topic:

  • Types of User Applications
  • How to choose a software development language when there are so much choices?

Static Sites

Sites that offer to the great majority of users basically static content – arcitectically speaking – may be implemented as Static Web Pages, not generated by some programming language at runtime, but written after content writing. This may be optimal choice in majority of cases in my opinion. Static files are stateless. They may be scaled up with simple Content Delivery Network.

For Example – WordPress

WP has 3 great data models – pages, blog posts, and e-store (with WooCommerce). Pages and Products may be static files. The dynamic content is from search and through processing product sales. The tricky part to make static are the increasing amount of blog posts. If you design paging, tags and categories properly – even articles may be static.

There is comment section also in WordPress, and this is again somehow static. It Could be coupled together with posts and products. The only dynamic point is posting/creating the feedback.

SEO

Static pages will most likely be super fast and will have great SEO score. I may even try – to not use any JavaScript in a next project that has CMS like output.

Admin CRUD Interfaces

You could implement amin CRUD interfaces could with any technology and in any language. What administrators need is – the CRUD operations to work and not fail. No need to archive super crazy speed and performance. There is no need for SEO for CRUD pages.

Web 2 Apps

If you have a mix of features like – giving the feature to your users to be able to login, edit content – that will be visible to others and to the general public, it gets harder to choose the appropiate technology.

  • It should have speed & performance
  • But also good user experience
  • And a great Search Engine Optimization
  • And maybe even a Mobile App

The BackEnd needs to produce the HTML in well structured format – that highlights the content properly for the SEO robots. But also – the Backend needs to produce the content in JSON (or some other structured and read by machines format) – so it could be grabbed optimally by FrontEnds and Mobile Apps.

NextJS

Lately some collegues of mine are using https://nextjs.org/ because it allows Server Rendered React Components. You take advantage of Client Side Technology on the BackEnd.

Any similar on ther platforms and programming languages?

Well, it is hard to find any good Framework in other languages that do the same thing. You could read more about it here: https://www.reddit.com/r/java/comments/sp9yos/why_is_java_templatingserver_rendering_losing/. Basically NextJS is taking advantage that – JavaScript is run on both Client and Server, while this is not (yet) the case with any other langauge. The most close to that is to have differentiation of – passing the partial content of the URLs – depending if the request is GET (full page html) or POST (only the main content).

Mobile Apps

A question nowadays is how to approach mobile application development?

  • Native Apps – Best performant, but you will most probably have multiple code bases – for any platform you want to support
    • iOS
    • Android
    • Web
    • All the Desktops
  • Cross Platform Framework – They tend to get bigger in terms of end size, but will have all the meaningful business logic in one place.
  • (Progressive) Web App – and skip all together any investment in app creation.

The choice come after detailed analysys on project needs, team expertise, urgency and required end result.

Programming Language Choice

Will there be enough high quality developers that know at expert level the techology or programming language? One should definately thing long term – when tasks are delegated. And having availabiltiy and chocie in the working force is crucial for long term maintanence and support.

  • What are ways to Optimize the backend endpoints in Spring Boot
  • Flutter image flickers
  • Could a Flutter App save a Flag even after uninstall
  • Could iOS flutter app logs be viewed while running in release mode – started after previous closed state
  • 6 Addictive Mobile Game Ideas Inspired by Flappy Bird’s Simplicity

Categories

  • Apps (20)
  • ChatGPT (19)
  • Choosing a Framework (38)
  • Flutter (206)
  • Graphical User Interface (13)
  • Marketing (114)
  • Software Development (270)
  • Spring (43)
  • StartUp (21)
  • Uncategorized (4)
  • Uncategorized (15)
  • Vaadin (14)

Tags

Algorithms (9) crypto (29) flutterdev (39) General (86) Java (7) QR & Bar Codes (3) Software Dev Choices (33) Spring Boot (1) standards (1) Theme (3) User Authentication & Authorization (9) User Experience (10) Utilities (19) WordPress (11)

Product categories

  • All Technologies (83)
    • Flutter Apps (23)
    • GPT (4)
    • Java (38)
    • Native Android (3)
    • PHP (9)
    • Spring (Boot) / Quarkus (35)
    • Utils (15)
    • Vaadin 24+ (27)
    • Vaadin 8 (1)
  • Apps (18)
    • Employees DB (1)
    • Notes (6)
    • Personal Budget (1)
    • Recipes Book (1)
    • Stuff Organizer (1)
    • To-Do (2)
  • PDF Books (3)
  • Source Code Generators (8)

Recent Posts

  • What are ways to Optimize the backend endpoints in Spring Boot
  • Flutter image flickers
  • Could a Flutter App save a Flag even after uninstall
  • Could iOS flutter app logs be viewed while running in release mode – started after previous closed state
  • 6 Addictive Mobile Game Ideas Inspired by Flappy Bird’s Simplicity

Post Categories

  • Apps (20)
  • ChatGPT (19)
  • Choosing a Framework (38)
  • Flutter (206)
  • Graphical User Interface (13)
  • Marketing (114)
  • Software Development (270)
  • Spring (43)
  • StartUp (21)
  • Uncategorized (4)
  • Uncategorized (15)
  • Vaadin (14)