Timeline for What does "de-MFC'ifying"a GUI app consist of? [closed]
Current License: CC BY-SA 4.0
26 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Nov 1, 2022 at 10:50 | history | closed | gnat Doc Brown Bart van Ingen Schenau | Needs more focus | |
| Nov 1, 2022 at 8:02 | answer | added | gnasher729 | timeline score: 2 | |
| Oct 31, 2022 at 20:47 | comment | added | Stack Exchange Broke The Law | it requires deleting all MFC code and putting in something else | |
| Oct 31, 2022 at 20:45 | comment | added | einpoklum | @user253751: Yeah, so, de-MFC'ing an app does not require a complete rewrite, and certainly not deleting all C++ code and putting in something else. | |
| Oct 31, 2022 at 20:35 | comment | added | Stack Exchange Broke The Law | @einpoklum It's relevant. You take this JS+HTML app and you have to come up with an android app with no JS or HTML in it. How do you do it? Complete rewrite - that's how | |
| Oct 31, 2022 at 20:34 | comment | added | einpoklum | @user253751: Not a relevant (or meaningful) example. Taking an app and removing the programming language code means it's not an app. | |
| Oct 31, 2022 at 20:31 | comment | added | Stack Exchange Broke The Law | @einpoklum Let's say, taking a Javascript+HTML phone app, and removing the Javascript and HTML. | |
| Oct 31, 2022 at 20:31 | comment | added | einpoklum | @user253751: What is "de-Javascriptification"? You mean, of websites? You could definitely characterize that in broad strokes. Talk about utilizing HTML features to the max; dynamic capabilities of CSS using element states and context; page design paradigms and the static counterparts of various dynamic ones; use of server-side execution; etc. | |
| Oct 31, 2022 at 14:54 | comment | added | Stack Exchange Broke The Law | @einpoklum But now consider de-Javascriptification. There is no general process, besides "write it again, but without MFC" or "split it up into parts, then write each part again, but without MFC" | |
| Oct 31, 2022 at 11:49 | comment | added | Doc Brown | @einpoklum: no, you thought you were not asking for a tool recommendation, but actually, which new UI framework to pick is what you have to clarify first and foremost. | |
| Oct 31, 2022 at 10:22 | comment | added | einpoklum | @DocBrown: That question is indeed about recommending a specific GUI library. That's not what I asked. | |
| Oct 31, 2022 at 10:20 | comment | added | einpoklum | @DocBrown: So, the question is about what are the broad categories of "MFC standard features" which need to be replaced, and what does replacing them entail: A specific library, a different library per platform, refactoring of various aspects of the code, etc. I am not asking for a tool recommendation. | |
| Oct 31, 2022 at 10:16 | comment | added | Doc Brown | See also on Reddit: reddit.com/r/cpp_questions/comments/cbf2hq/… | |
| Oct 31, 2022 at 9:56 | comment | added | Doc Brown | ... also, this all makes this more like a "tool recommendation" question in disguise, and you surely know that these questions are off-topic here, | |
| Oct 31, 2022 at 9:54 | comment | added | Doc Brown | @einpoklum: at least you are assuming this answer can be sensibly answered without knowing more about the specific application. And my rationale is simple: choosing the "market leader" for cross-platform C++ GUI frameworks is usually the least risky and most "future proof" approach. But Qt should be surely powerful enough for replacing all MFC standard features. Backside is, Qt needs to fit into your budget - and without knowing more about the application, I cannot tell you if it is completly oversized for your purpose, or maybe lacks some "non-standard things" important to you. | |
| Oct 31, 2022 at 7:59 | comment | added | einpoklum | @DocBrown: The question makes no assumption of there being a "simple" approach. If you asked me the same question about, say, de-Boostification, I could give you a general answer (though not a complete one since I'm not that much of an expert). Anyway, your comment about Qt should be an answer, albeit not a complete one. If you could provide the rationale for it as well - in an answer - that would help me make at least that decision. | |
| Oct 31, 2022 at 6:46 | comment | added | Doc Brown | FWIW, here is what I would do: if the application is larger than 50K lines of code, I would usually shorten the evaluation process for an UI framework and simply choose Qt, and then google for "port MFC to Qt" (compare the results you get with "port MFC to <something_else>", if you like. | |
| Oct 31, 2022 at 6:23 | comment | added | Doc Brown | "I intentionally haven't described the application, to focus the question on de-MFC'ing as a process." - replacing MFC in an application is all about the application, its size, its structure, and its usage of the MFC, so the whole question is based on the wrong assumptions of the existence of a "simple" approach. | |
| Oct 30, 2022 at 23:39 | history | edited | einpoklum | CC BY-SA 4.0 | added 184 characters in body |
| Oct 30, 2022 at 23:38 | comment | added | einpoklum | @PhilipKendall: See edit. | |
| Oct 30, 2022 at 23:37 | comment | added | einpoklum | @user1937198: That's definitely a big question. I was assuming someone would write about the choice between a "narrow" GUI toolkit and something more frameworky like Qt. | |
| Oct 30, 2022 at 22:36 | comment | added | user1937198 | One big question is which UI toolkit are you going to replace the MFC with. This is not a trivial question, and will likely shape a lot of the follow on decisions. | |
| Oct 30, 2022 at 22:11 | review | Close votes | |||
| Nov 1, 2022 at 10:55 | |||||
| Oct 30, 2022 at 21:49 | comment | added | Philip Kendall | Honestly, this depends so much on the structure of the app. If it is already well separated into layers, you can possibly just pull out the layers containing the business logic and stick a new GUI of your choice on top. If there's no good separation and MFC classes reach right down through the code, you've got a much bigger job on your hands. | |
| Oct 30, 2022 at 21:19 | history | edited | einpoklum | CC BY-SA 4.0 | added 34 characters in body; edited title |
| Oct 30, 2022 at 21:12 | history | asked | einpoklum | CC BY-SA 4.0 |