I actually came to this video from using Leptos. It still not clear to me how leptos manages to use the move keyword all over the components and not run into borrowing/ownership issues.
@FloWoelki18 сағат бұрын
Awesome! :) Maybe for clarification: the `move` keyword is the whole magic and this is explained in this video. `move` is not a Leptos concept and it's used to transfer ownership of variables to a closure.
@brownboyintokyo7368Күн бұрын
how would one deploy a rust backend ?
@FloWoelki18 сағат бұрын
Depends on your preferences :) But, generally `cargo build --release` puts the resulting binary in the `target/release` directory.
@CoolestPossibleName2 күн бұрын
I thought the Mutex has to be within the struct of the data I want to make that data thread safe
@bjo0042 күн бұрын
Amazing. Thank you 🎉
@FloWoelki2 күн бұрын
Glad you liked it!
@bjo0042 күн бұрын
Can you please follow up with optimization and best practices?
@FloWoelki2 күн бұрын
@@bjo004 What do you mean, specifically? :)
@bjo0042 күн бұрын
24:13 You said the code is far from perfect and can be optimised, refactored to make it more scalable and developer friendly. Could you please make a part 2 dealing with these please?
@FloWoelkiКүн бұрын
@@bjo004 Sure, I'll check what I can do :)
@mikereid733 күн бұрын
more actix please!
@FloWoelki18 сағат бұрын
If you have something specific in mind, feel free to post it :)
@TechDoctorMalayalam4 күн бұрын
Great video
@FloWoelki3 күн бұрын
Glad you enjoyed it!
@TechDoctorMalayalam4 күн бұрын
Informative
@FloWoelki3 күн бұрын
Thank you :)
@sval40204 күн бұрын
Thanks, Flo! Once again great video! Keep rocking!
@FloWoelki3 күн бұрын
Thank you 🤘
@benspencer11634 күн бұрын
thank you for the video, but I'd really appreciate a follow up video... you do a very good job with your explanation
@FloWoelki3 күн бұрын
Thank you! What do you have in mind for a follow-up video?
@benspencer11632 күн бұрын
@@FloWoelki email using actix web and every other backend things that make up backend frameworks
@FloWoelki2 күн бұрын
@@benspencer1163 thank you! I've already written some ideas down :)
@rip4real4375 күн бұрын
Amazing video man, very concise and thorough... I'm still learning Rust and you made this as clear as it can be. you are actually really underrated! Please make more videos like this... subbed
@FloWoelki3 күн бұрын
I appreciate that! Thank you!
@elgar3286 күн бұрын
8:18 is this a terminal file manager??
@FloWoelki3 күн бұрын
Nope, not really. I am using nvim with a plugin to see this.
@mrbane20006 күн бұрын
Tauri uses GTK in Linux, Edge WebView in Windows, and idk what's it called in Mac OS, but yea i wouldn't really want to use Edge WebView or anything Microsoft in my app, also GTK is not really up to date compared to Electron that uses Chromium. I personally tried all 3 Tauri, Electron, NW.js and i really liked easy of use of NW.js, i didn't also need to write protocol for file management which, cause it's offline anyway. I think what would be best if Tauri used Firefox's engine that's written in Rust partly. That would be best choice to do
@sval40207 күн бұрын
Hey Flo, just wanted to say how much I like your teaching style. Your videos are great! Please cover more advanced Golang topics such as Go concurrency patterns and best practices. Thank you!
@FloWoelki6 күн бұрын
Thank you so much for the great feedback! Go Concurrency patterns is definitely a video on my todo list :)
@AbdulWahab-ev2ct9 күн бұрын
That looks great. Is it Dank Mono?
@FloWoelki16 сағат бұрын
What do you specifically mean?
@AbdulWahab-ev2ct13 сағат бұрын
@@FloWoelki Font you are using on terminal?
@FloWoelki13 сағат бұрын
@@AbdulWahab-ev2ct Got it! I use the Monaspace font. Hope that helps :)
@Tsundaere13 күн бұрын
Just wait until servo is full version and has full support from Tauri. It's gonna be bonkers.
@hitesh748117 күн бұрын
what is the extension you are using which is saying main is not async at 2:47? thats pretty cool
@FloWoelki16 күн бұрын
It's not an extension; it's a plugin in nvim that I've used. But generally, you can google for whatever IDE/Editor you use: "show inline errors". That should work.
@Christobanistan19 күн бұрын
So what's the best server side framework that works with HTMX (and Actix of course)?
@AsherDMckoy20 күн бұрын
Is that a vim plugin for the automatic imports and line errors?
@FloWoelki20 күн бұрын
Yes! I use `lsp-zero` with some additional configuration.
@what1heh3ck23 күн бұрын
what’s your ide and font? btw nice usecase. I think I might going to use that in future
@FloWoelki22 күн бұрын
Awesome stuff! :) Generally, I do use Zed with the official GitHub theme. The GitHub theme is also available for vsc or nvim.
@CoolestPossibleName23 күн бұрын
I don't think I'll ever use this function. What if one of the functions return additional values or error? usually I do this func getPort(defaultPort string) string { port := getPortFromFlag() if port != "" { return port } port = os.Getenv("PORT") if port != "" { return port } port = getPortFromWhatever() if port != "" { return port } return defaultPort } and call that function in the main function. The cmp.Compare() function cool I guess, but the use case is really specific
@FloWoelki23 күн бұрын
I agree; it really depends on the specific use case. But overall, it would be nice to have additional syntactical sugar for your Go code.
@goBeko23 күн бұрын
Thank you for this awesome video! It helped me a lot to understand structs better.
@FloWoelki23 күн бұрын
Thank you so much for watching and it's wonderful that you got value out of it :)
@Cavisek26 күн бұрын
I've been using tauri for the last half year. I don't care about it being cross-platform (I target windows only) but I've chosen tauri ONLY because of the simplicity and the insane performance. I did work with electron and it was pain in the ass. Tauri is just perfect. The community upgrades this project everyday. The creators got pretty high investments from a huge companies (aws, cloudflare or Digital Ocean) and it is growing really fast. I can't wait to finish the v2 version because I saw that they have insane plans for v3. Can not wait for that!
@FloWoelki23 күн бұрын
That pretty much brings it to the point as well. Let's see what the future holds 🙌
@sval402026 күн бұрын
Your Go videos are great! Please do more of them! You have amazing teaching style and I like how you mention what is a good practice and what is not, that is quite important for beginners with the language!
@FloWoelki25 күн бұрын
Thank you so much for the feedback! I'll try my best to deliver more videos about Golang :)
@PedroSanchez-od7cc29 күн бұрын
Nice video, but sometimes I can't see the code because your camera is there
@FloWoelki29 күн бұрын
Thank you for the feedback. I do agree with that. I am still experimenting a little bit to find the perfect fit :D
@codelinx24 күн бұрын
i agree. Maybe start out in the frame when you start showing the code then hop out to focus only on the code. We need to see the code long enough while you explain it.
@FloWoelki24 күн бұрын
@@codelinx Jap definitely makes sense, thank you! :)
@ulrich-tonmoyАй бұрын
Hey man any update on you tutorials/video on tauri Markdown App
@FloWoelki29 күн бұрын
Unfortunately not, but I'll definitely create a video about creating something with Tauri :)
@nonefvnfvnjnjnjevjenjvonej3384Ай бұрын
stick to go or rust. dont mix stuff on your channel.
@FloWoelki23 күн бұрын
Thank you for the feedback. Well, I don't know yet what videos to stick with. I'll try to see what the community likes and then go with that :)
@nonefvnfvnjnjnjevjenjvonej338423 күн бұрын
@@FloWoelki yes that will help your channel grow. if you want to keep doing both, just create two channels.
@FloWoelki22 күн бұрын
@@nonefvnfvnjnjnjevjenjvonej3384 I definitely agree because the target group is much more niche. But overall, I still want to make videos about Rust and Go. And there are obviously channels which do a lot more than that :D
@0x72FАй бұрын
great video! can someone help me with returning everything from the arc as json? #[actix_web::get("/users")] async fn get_users(db: web::Data<UserDb>) -> impl Responder { HttpResponse::Ok().json(WHAT TO DO HERE) }
@0x72FАй бұрын
#[actix_web::get("/users")] async fn get_users(db: web::Data<UserDb>) -> impl Responder { let mut users = Vec::new(); let db = db.lock().unwrap(); for k in db.keys() { match db.get(k) { Some(user) => users.push(user), None => println!("Error while getting user #{}", k), } } HttpResponse::Ok().json(users) } is this ok? thanks
@ati43888Ай бұрын
Very nice. Thanks. keep going please
@FloWoelkiАй бұрын
Thank you :)
@_ichsanni8294Ай бұрын
clear and concise bro, i'm new to golang and understands your videos easily, maybe you should make a complete tutorial for beginner wink wink
@FloWoelkiАй бұрын
That's lovely, thank you! There already is: kzbin.info/www/bejne/hmjHdIqFn7eqgKM it's a 15-minute crash course. If you've got any questions, feel free to ask them :)
@saiphaneeshk.h.5482Ай бұрын
Short and simple
@FloWoelkiАй бұрын
Thank you :)
@user-tb4ig7qh9bАй бұрын
I remmber now why i hated rust when i hear the word rust i just remmber spider legs every time you will need to open bracket you will have a spider legs to handle it
@user-tb4ig7qh9bАй бұрын
It is looks like an atom for me in erlang nice small intro for symbols 🎉❤
@FloWoelkiАй бұрын
Thank you for the feedback :)
@ihgnmahАй бұрын
awesome vid, super easy to understand, thank you
@FloWoelkiАй бұрын
So glad it helped!
@eugeneenko1301Ай бұрын
Great explanation and really nice format and presentation. Keep it up :)
@FloWoelkiАй бұрын
thank you so much! :)
@zDyantАй бұрын
You look sad bro. Besides, great video.
@FloWoelkiАй бұрын
thank you, but I am not sad haha :D
@abiodun6897Ай бұрын
thanks , i recently go into go again after some years had no idea this was fix , btw whats you editor config
@FloWoelkiАй бұрын
awesome stuff! generally, I use Zed at the moment as my main editor. so, I was switching from nvim to Zed. but the editor theme is the official GitHub theme.
@abiodun6897Ай бұрын
@@FloWoelki thank you 👍🏽
@cempackАй бұрын
What do you think about Rocket ? What's the differences between Actix web and Rocket. I've been interested into rust pretty recently and I didn't really catch the difference even tho Rocket seems much more batteries included, but I guess there is a reason why Actix is much more popular?
@FloWoelki29 күн бұрын
I personally think that Rocket does not have a lot of updates. That's why I think that Actix-Web and Axum are more popular. Axum is also much leaner and simpler than Actix-Web.
@ricardorochadevАй бұрын
Hi Flo, Have you already tested axum?
@FloWoelkiАй бұрын
hey there, big fan of Axum as well! especially the integration with tokio. :) what do you think about it?
@lucianosrpАй бұрын
Easy and simple to understand, great video!
@FloWoelkiАй бұрын
lovely, thanks! glad it was helpful :)
@buddy.abc123Ай бұрын
All htmx tutorials are simple. Why no one wants to show how to build production grade apps? Styling, components etc
@FloWoelkiАй бұрын
I could do it ;) do you have anything specific in mind? like creating a todo list and then making it production-ready and deploying it (I think dockerising the application should be feasible enough?)?
@nanonkay5669Ай бұрын
@@FloWoelki Yes that would be awesome
@merfkit2 ай бұрын
Great tutorial, thanks
@FloWoelki2 ай бұрын
glad you liked it!
@DerickRobinsonPlata2 ай бұрын
Thanks for the great video, keep up the work!
@FloWoelki2 ай бұрын
thank you for the amazing feedback!
@filipniklas2 ай бұрын
Nice! What do you recommend for a Rust newbie to learn first, Actix web or axum? (Or something else?)
@FloWoelki2 ай бұрын
thanks :) I would recommend learning the language first :D jokes aside, I think it doesn't matter. in the end Actix Web and Axum both perform better than any node or python web server, and that's what matters. I would say, pick based on preference and project constraints.
@NewFoxesHD2 ай бұрын
My issue with Tauri is the lack of support for multiple web views within a single native window.
@FloWoelki2 ай бұрын
well there is an example of having a multi-web view within a single native window: github.com/tauri-apps/tauri/tree/dev/examples/multiwebview this was the related issue to that example: github.com/tauri-apps/tauri/issues/2975
@Slate245Ivanovo2 ай бұрын
The thing with React Native is that it uses native elements on each respective platform. Sometimes, it's good (native buttons, loading indicators, modals), sometimes not so good (having to dig into native code to fix inconsistencies). Tauri doesn't offer that. Just a plain wrapper for a webview with your frontend and system bindings in Rust. It's only good if you throw nativity out of the window and want to control the ui 100%
@FloWoelki2 ай бұрын
good point! obviously, Tauri has some native features as well through the Rust bindings, and you can also develop your own if you want to. but, let's see where the future goes. ultimately, the choice depends on your project's needs and priorities.
@ulrich-tonmoy2 ай бұрын
i guess Tauri Will compete with React Native than Electron and the use of js in mobile dev is because of the update delay cause of layer of check for apps while with js you can directly update your app for user without waiting for store check unless its native code/binary update(like expo for react native)
@FloWoelki2 ай бұрын
we'll see, I think GitButler uses Tauri and probably I'll also make a video about building something with Tauri, because it's just magic. especially when you want to use system-specific functionality. that makes sense, yes!
@ulrich-tonmoy2 ай бұрын
@@FloWoelki Maybe a code editor or something similar
@FloWoelki2 ай бұрын
@@ulrich-tonmoy jap that would be a good use case. Or even something similar to Obsidian or Notion.
@ulrich-tonmoy2 ай бұрын
@@FloWoelki yep code editor or markdown/rich text editor
@infantfrontender613120 күн бұрын
Tauri competes with Ionic, not RN/Expo. It's because Ionic also uses web view, and RN uses native elements
@soldierbirb2 ай бұрын
Just use imgui or raylib already...
@FloWoelki2 ай бұрын
these are valid alternatives, yes :)
@hellelo.58402 ай бұрын
Well tauri doesn't support custom protocols registration 😅, and they can't implement it