Contribute to the Xamarin Forms Toolkit

rmarinhormarinho XamuraiPTMember, Insider, Beta Xamurai
edited June 2014 in Xamarin.Forms

Hi, i just started a open source project with the aim to fill the gap for some missing controls on Xamarin Forms, as well as providing to the community helpers/services to help cross platform development.

My idea was to create nuget packages for this toolkit, that one could simply add to the app, and use more controls, and have more features.

I wanted to ask for your help in bringing this project to life, you can help out in very different ways, from just suggesting controls that could be implemented, as coding some new controls, design new ui's for the controls, implement platform specific controls or help testing the toolkit.
All feedback is welcome.

please take a look at the existing code for now only with calendar control, and speechtotext service

https://github.com/rmarinho/Xamarin-Forms-Toolkit

«13

Posts

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    We have created a new home and changed the name to XForms Toolkit so it doesn't have namespace issues with Xamarin, check it out and contribute with your awesome controls :)

    https://github.com/XForms/XForms-Toolkit

  • ScottBradleyScottBradley ✭✭ AUMember ✭✭

    What about a segmented control which switches views as you change the selection.

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    Sounds Great Scott, can you give us a hand? :)

  • ScottBradleyScottBradley ✭✭ AUMember ✭✭

    If I end up building something like that for my current app I'll send it through and you can decide if its good enough quality to include or not. At this stage I'm feeling the steep learning curve so I'm just focusing on getting the basics working ;)

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    That's awesome Scott, at this time we are accepting every contribution, the quality is not a very important aspect as we expect the community helps bring better implementations of each controls as we go forward with the project.
    We are all learning , and why don't we learn together :)

  • TheRealJasonSmithTheRealJasonSmith Xamurai USXamarin Team Xamurai

    @rmarinho‌ I'd like to contribute a BaseView and BaseViewModel to your project. I don't want to take over your project by mistake just by associating the Xamarin name however, how would you like me to contribute (I fear forking into a Xamarin owned repo might be difficult for you)?

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    @JasonASmith‌ that would be very cool. can i just add you to XForms organization, and you contribute? :)

  • TheRealJasonSmithTheRealJasonSmith Xamurai USXamarin Team Xamurai

    Works for me, I am 100% behind there being some community driven work! I am jassmith on github

  • ravensorbravensorb ✭✭ USMember ✭✭

    Any plans to add support for WinPhone as well?

  • TheRealJasonSmithTheRealJasonSmith Xamurai USXamarin Team Xamurai

    Support for what? Xamarin.Forms already works on WinPhone?

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    Invite sent :)

    yeah, i m coming from windows phone / win rt and i have done lot's of apps that always rely in some kind of toolkit to help bridge the gap of missing controls.

    It's my first time organizing this kind of stuff though, so any feedback is always welcome and appreciated.

    Btw, if you can look at that issue i pointed out with dependency service that would be great.

  • rmevans9rmevans9 USMember

    @rmarinho‌ I like the sounds of this a lot. I am going to take a closer look at it when I get home and I might give you a hand on some controls that you have planned.

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai
    edited June 2014

    @ShawnAnderson‌ yes definitely , i m just missing out commit the windows phone project. I was on my mac last night, and there's no windows phone support there yet :( (one thing i would love xamarin helps out too)

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai
    edited June 2014

    Another thing i have think is Adding a layer of abstraction so we can call Xamarin.Mobile from the forms projects.

    Should we invest in that @JasonASmith‌ ? or you guys are planning a new release of Xamarin.Mobile ?! (this is specially interesting for Location )

  • StephaneDelcroixStephaneDelcroix ✭✭✭✭ USInsider, Beta ✭✭✭✭
    edited June 2014

    @ScottBradley‌ I have a segmented control and iOS renderer I can contribute, if you want. no android or wp renderer though.

    @rmarinho‌ just like jason said, we don't want to take over your repository. but I'm fine to contribute provided we're ok with the licence.

  • TheRealJasonSmithTheRealJasonSmith Xamurai USXamarin Team Xamurai

    @rmarinho‌ I just confirmed the DependencyService works fine on Android. Please keep in mind I wont be looking for Xamarin.Forms core bugs in your contribs bug tracker. You should either file them here or on the Xamarin bugzilla (god bless your soul if you do).

    I doubt they will let me just set up a github project for people to file issues on that... that would just be too easy :P

  • ScottBradleyScottBradley ✭✭ AUMember ✭✭

    @StephaneDelcroix‌ great thanks!

    If you submit it then at least there is a starting point. I wouldn't have known even where to start!!

  • TheRealJasonSmithTheRealJasonSmith Xamurai USXamarin Team Xamurai

    rmarinho, can you please define a license for the project and may I suggest MIT/X11?

  • StephaneDelcroixStephaneDelcroix ✭✭✭✭ USInsider, Beta ✭✭✭✭

    @rmarinho‌ we could also contribute a Behaviors and Triggers implementation

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    Yeah sure, i was just giving you a easy repo of the problem i m facing i m trying to find if't it's a bug or not.

    For example in IOS, to Dependency to work, i had to call my render on the beginning so it can bring the DLL to the project?
    https://github.com/XForms/XForms-Toolkit/blob/master/samples/XForms.Toolkit.Sample.iOS/AppDelegate.cs#L30

    have you tryed to have the implementation on other android class library?!

  • TheRealJasonSmithTheRealJasonSmith Xamurai USXamarin Team Xamurai

    @rmarinho‌ you need to attribute your class with [Preserve] so the linker does clobber it :)

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    @JasonASmith‌ i have added a license already : https://github.com/XForms/XForms-Toolkit/blob/master/LICENSE

    That's good ?

    @StephaneDelcroix‌ wow.. so coll he have triggers and behaviors support? I didn't even tried that yet, we don't have storyboards like MS xaml right?!

  • TheRealJasonSmithTheRealJasonSmith Xamurai USXamarin Team Xamurai

    @rmarinho‌ thank you that frees us up to contribute without any worry :)

  • ThomasLEBRUNThomasLEBRUN ✭✭ FRMember ✭✭
    edited June 2014

    @rmarinho‌: I can contribute by adding my ExtendedTabbedPage available here: blog.thomaslebrun.net/2014/06/xamarin-how-to-know-when-the-current-page-of-a-tabbedpage-has-changed/ :)

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai
    edited June 2014

    @ThomasLEBRUN‌ very cool! i was working in a similar same thing...

    That's why having this kind of project is cool so we can save some time, and create better controls by merging ideas/code ...

  • ThomasLEBRUNThomasLEBRUN ✭✭ FRMember ✭✭
    edited June 2014

    @rmarinho‌ : OK, I'll try to make the modifications and performs a PR to Github :)

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    Ok @ThomasLEBRUN‌ and the first PR was submitted just now, we already have nuget packages so everyone could start trying the toolkit more easily ..

  • SKallSKall ✭✭✭✭ USMember ✭✭✭✭

    I have some abstraction layers I could port over to the library. They aren't related to Xamarin.Forms but abstraction in general. Serialization, DI, device sensors, display, Bluetooth etc.

  • SKallSKall ✭✭✭✭ USMember ✭✭✭✭

    Just a suggestion...enable StyleCop or similar to enforce coding standards (including XML documentation rules). Helps a lot in keeping the code clean.

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    Skall that would be really great! i already looked at some of your project in SimplyMobile and i was gonna write you and email to join in if you had time.

    I think some of the services will be pretty useful to be injected in our viewmodels, so it would be a great fit to the toolkit.

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    Thanks for the tip Skall i don't have a lot of experience with it... to be honest only thing i do is ctrl+shift+D :P

  • KevinFordKevinFord ✭✭✭ USUniversity, Certified XTC Partners ✭✭✭

    @rmarinho‌,
    I sent you a pull request for the ImageButton. Right now the only renderer included is Android. I'll convert over my prototypes for iOS and WP soon.

  • KevinFordKevinFord ✭✭✭ USUniversity, Certified XTC Partners ✭✭✭

    BTW, here is what they look like:

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    very nice Kevin! i m in my day job now, later today i will check the PR.

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai
    edited June 2014

    Ok every PR are merged in the master, for now we have the following controls in the Xamarin forms toolkit:

    1. image button
    2. extended tabbed page
    3. calendar
    4. Speech service
    5. mvvm helpers

    https://github.com/XForms/XForms-Toolkit

    I m currently working myself in adding a cache service based on this: http://components.xamarin.com/view/simple-storage/

    @JasonASmith‌ we have a viewmodel in there but you talked in some hooks in the navigation events of the page , that would be great :) (btw can you fix the typo in this topic header)

    Thanks

  • SKallSKall ✭✭✭✭ USMember ✭✭✭✭

    @rmarinho‌, I also have a generic ICacheProvider interface with implementation to use SQLite.Net.Async for persistent caching. Thanks to ServiceStack library the same interface also works with Redis (more server side stuff but can also be used from mobile).

    I will try to push in serialization interfaces as well with plugins for Json.NET, ServiceStack and ProtoBuffer. Most likely I will have time this weekend.

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai
    edited June 2014

    @SKall‌ cool, i was looking at some solutions for caching, i also thought on SQLLite, i think this could be a very helpfull service to support offline apps..
    But there's one thing we must have careful is the size of the toolkit.

  • SKallSKall ✭✭✭✭ USMember ✭✭✭✭

    It should be divided into separate assemblies. Things like caching that are not related to Xamarin.Forms should not IMO be in the same assembly. Same with interfaces and implementations. Caching interface in PCL library and then implementations as plugins so one can easily just pick one to use and not worry about the rest.

    What should be avoided is hard dependencies. 3rd party library like SimpleStorage as cache provider should be a plugin assembly.

  • rmarinhormarinho Xamurai PTMember, Insider, Beta Xamurai

    You are totally right, that way one could chose different implementations for the cache provider. By just installing the right nuget.

  • MarkSmith.8123MarkSmith.8123 Xamurai USXamarin Team, University, XamUProfessors Xamurai

    @rmarinho I've got a WrapLayout container if you'd like it. My github id is markjulmar.

Sign In or Register to comment.