Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation #167

Open
SwiTool opened this issue Sep 19, 2019 · 9 comments
Open

Documentation #167

SwiTool opened this issue Sep 19, 2019 · 9 comments

Comments

@SwiTool
Copy link

SwiTool commented Sep 19, 2019

Hello,
First of all, thanks @pauldotknopf (and all contributors) to make the dream – to have a C# crossplatform UI library – come true.
This fits perfectly my needs.

But there's a lack of documentation, and I can understand because the project is pretty new.

I could contribute on writing it, oh god if only I could.
I have not a lot experimentation with C# nor with Qt (although for the last one, I have a bit, but still, it's from school memories), and I truly need to know the uses cases and more in depth, the usage, best practices and bad practices, etc.

The "quick start" is good to setup the library. The first tutorial https://github.com/Jodeldiplom/qmlnet-tutorials (thanks @Jodeldiplom) is basically the same as the quick start, and the second is quite good but not enough because there are no signals.

The PhotoFrame example is well detailed, but as a beginner in this language, I can't get to understand what's underneath the surface and how it works. And I think to make good things you must be able to understand every part of the program. There can't be "magic working stuff", and for that, I would really like to dig.

It has been 2 days than I'm looking at the source codes, opening them, trying to make changes to understand. But wow, I feel terribly bad because I can't get anything to work when I want to add a feature.

For example, i've been trying to add signals to the Contacts tutorial 02 from @Jodeldiplom, to make the Contact list dynamic. No success (I don't know if it's because I have signals on other types than "string" or "int" that are showed in the examples...).

I don't have excuses, I should be able to make it work since it's not that hard. I understand the Quick Overview, but I would like to know more about the library.

Thank you.

@SwiTool
Copy link
Author

SwiTool commented Sep 20, 2019

Okay so by navigating over the issues, I found @MaxMommersteeg repositories, the Chat and Todo projects are concrete usage examples.
It would make sense to put the lights on them for people to see concrete usage of the library :

From there I have some questions :

  • What does ITypeCreator do and why should we use it ?
  • Does ctrl.addTodoItem references to TodoItemsController.AddTodoItem ? It means QMLNet is transcripting the name, right ? I read in the naming convention that QML methods should be in camelCase.
  • I see some variables with underscores at the beginning, are those variables not to be used in QML ? I would understand the camelCase transcription, but if I'm right, why is that ?

I'll put more questions if I have, but I see a bit clearer with the sample projects.
Please no offense if I ask stupid questions. I'm sure this could help others too.
Thank you !

@pauldotknopf
Copy link
Member

  1. ITypeCreator allows you to resolve instances of your QML types from something like a container (dependency injection).
  2. Yes. Everything is converted to camalCase.
  3. I'm not sure what you are looking at here. There shouldn't be any underscore prefixes.

@pauldotknopf
Copy link
Member

By the way, thanks for the kinds words. I'd love some help in documenting this thing. I use it in production myself, currently, but I can see why others would be hesitant to use it.

@SwiTool
Copy link
Author

SwiTool commented Sep 20, 2019

For the point 3, here is _todoItemService. Why not TodoItemService for example ?

No problem, I really mean it.
Actually the code is well commented, but it truly needs tuts or step by step guides. (something to know about the features, because if not written down, the users do not know at what point this lib is incredible)

I can feel your pain 😉

Thanks for the answers. The 1 seems obvious now you said it 😄

@vadi2
Copy link
Contributor

vadi2 commented Sep 20, 2019

_ is the C# convention for private members.

@MaxMommersteeg
Copy link
Contributor

MaxMommersteeg commented Sep 20, 2019

My sample apps could be nice starting points for a beginner (since they are created by a Qml beginner (me). But still, they probably contain some not-so-good practices.

I should invest some time in them (and learn some more Qml) to make them more valuable for beginners.

@ghost
Copy link

ghost commented Oct 11, 2019

Does anybody know if there is a subreddit or discord dedicated to qml.net? I feel like it would be very beneficial for us early adopters to have a place where we could share our knowledge and help each other out. If there aren't any, maybe we could get together and create one?

@pauldotknopf
Copy link
Member

The Gitter channel is all we got right now.

https://gitter.im/qmlnet/Lobby

@Etchelon
Copy link

On that matter, I'd like to have some replies in that channel by the way, everyone disappeared after I joined 😢
Anyway thanks a lot for making this! I love QML but C++ is... hard to use after getting used to C# and Javascript for web development. With your library I can now write Windows apps easily.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants