Answers.Body: <p>Writing a fully functional application, even if that application is 'trivial' quickly becomes complex and will need some good thinking on paper before starting your code. I would suggest learning a software development proces that starts with requirement analysis and takes you all the way to technical design from which you can start your code. The one I know is called ICONIX (for object oriented programming) described in &quot;Use Case Driven Object Modeling with UML - Theory and Practice&quot;. The book uses a bookstore as an example application and is very hands-on. The application is developed using Java and the Spring framework. It is essentially a step-by-step guide to application development. Through object oriented analysis, you will create a detailed design in the form of a class diagram with attributes and methods allocation, and sequence diagrams for the most critical features. You will work through one use-case at a time and iteratively develop a fully functioning application.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-23T10:49:48.727Z
Answers.LastActivityDate: 2021-01-23T10:49:48.727Z
Answers.UserDisplayName: T. Lovegreen
Body: <p>Good day,
  I have learnt the basics of C++ and now know how to write simple console applications using codeblocks.</p>
  <p>I would very much like to create a fully functional application like a calendar or notes app.</p>
  <p>Can someone help me find resources such as tutorials or textbooks where I can be guided, step by step, to make an app (a very simple one would suffice)?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-01-08T13:27:28.653Z
Comments.Text: Welcome to [cseducators.se]!  I removed the part of your question that was not within the scope of this site.  Good luck on your journey into programming!
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-01-08T23:09:07.053Z
Comments.Text: Sounds like you want to write a _[desktop GUI application](https://en.wikipedia.org/wiki/Graphical_user_interface)._ For that, you will want to choose and learn an _[application framework](https://en.wikipedia.org/wiki/Software_framework)._ A framework not only library provides library routines for your code to call, but it also provides an application "skeleton" that calls your code. There are many of them from which to choose.  For example, open [this page](https://github.com/fffaraz/awesome-cpp) and scroll down to the "Frameworks" heading.
Comments.UserDisplayName: Solomon Slow
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-01-08T23:12:43.533Z
Comments.Text: P.S., One thing to watch out for: Some frameworks only target a specific platform (e.g., Windows or Mac OS). Other frameworks allow you to write programs that can be easily "ported" to more than one platform.  The platform-specific ones may give you access to platform-specific features and "themes" or "skins" that the portable ones don't. The advantage of the portable ones should be self-evident.
Comments.UserDisplayName: Solomon Slow
Tags: <self-learning><resource-request><c++>
Title: Creating a complete application
ThreadText: # Creating a complete application
  
  (Asked by: username_0 on 2021-01-08)
  
  Good day,
  I have learnt the basics of C++ and now know how to write simple console applications using codeblocks.
  
  I would very much like to create a fully functional application like a calendar or notes app.
  
  Can someone help me find resources such as tutorials or textbooks where I can be guided, step by step, to make an app (a very simple one would suffice)?
  
  **Tags:** self-learning, resource-request, c++
  
  > **Comments:**
  > **username_1**: Welcome to [cseducators.se]!  I removed the part of your question that was not within the scope of this site.  Good luck on your journey into programming!  
  > **username_2**: Sounds like you want to write a _[desktop GUI application](https://en.wikipedia.org/wiki/Graphical_user_interface)._ For that, you will want to choose and learn an _[application framework](https://en.wikipedia.org/wiki/Software_framework)._ A framework not only library provides library routines for your code to call, but it also provides an application "skeleton" that calls your code. There are many of them from which to choose.  For example, open [this page](https://github.com/fffaraz/awesome-cpp) and scroll down to the "Frameworks" heading.  
  > **username_2**: P.S., One thing to watch out for: Some frameworks only target a specific platform (e.g., Windows or Mac OS). Other frameworks allow you to write programs that can be easily "ported" to more than one platform.  The platform-specific ones may give you access to platform-specific features and "themes" or "skins" that the portable ones don't. The advantage of the portable ones should be self-evident.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_3 on 2021-01-23. Score: 1
  
  Writing a fully functional application, even if that application is 'trivial' quickly becomes complex and will need some good thinking on paper before starting your code. I would suggest learning a software development proces that starts with requirement analysis and takes you all the way to technical design from which you can start your code. The one I know is called ICONIX (for object oriented programming) described in "Use Case Driven Object Modeling with UML - Theory and Practice". The book uses a bookstore as an example application and is very hands-on. The application is developed using Java and the Spring framework. It is essentially a step-by-step guide to application development. Through object oriented analysis, you will create a detailed design in the form of a class diagram with attributes and methods allocation, and sequence diagrams for the most critical features. You will work through one use-case at a time and iteratively develop a fully functioning application.
  
  
  ---
  
  