praeclarum / ooui Goto Github PK
View Code? Open in Web Editor NEWA small cross-platform UI library that brings the simplicity of native UI development to the web
License: MIT License
A small cross-platform UI library that brings the simplicity of native UI development to the web
License: MIT License
This will turn the UI system into a fully capable web server.
<3
I followed almost all the instructions on https://montemagno.com/building-a-xaml-xamarin-forms-asp-net-website/
added the lines
app.UseOoui();
Xamarin.Forms.Forms.Init();
But got this exception on Xamarin Forms Init():
System.TypeLoadException: 'Method 'QuitApplication' in type 'OouiPlatformServices' from assembly 'Ooui.Forms, Version=0.5.123.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.'
Xamarin.Forms 2.5.0.121934
Ooui 0.5.123
Ooui.AspNetCore 0.5.123
Ooui.Forms 0.5.123
This spec lists the events that should be supported:
It would be nice to simply say:
button.Style = "background-color:blue";
Use real data about character sizes (at least ASCII) to measure strings more accurately.
Would be nice to specify this string :)
Bootstrap seems to require it.
Please consider removing any dependency on jquery and/or implementation using TypeScript to provider better developer experience with strong typing, intelligence and other features that TypeScript provides such ECMA script compliance and NULL check as the project size increase this will also ease any pain with regards to testing and introducing any issues.
Hi,
Ooui sounds amazing.
Would be great if you could provide Visual Studio templates that implement the following:
You guys don't really get it, but Ooui is a total deal changer.
Hello! I'm new to this wonderful project and I'm playing around with it to see what works and what does not.
For now, I've put this XAML:
<ListView ItemsSource="{Binding People}" >
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding Name}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
But nothing is rendered in the web browser.
I think that ListView isn't supported yet. Otherwise, how do I use it? Thank you!
Should work on the following platforms:
Currently the main page is hardcoded as a string.
Allow the user to override it to control their own libraries, add analytics, etc.
Please consider using Dependency Injection for Session Management, using DistributedCaching, Redis or other would allow Sessions to be persisted and recovered should a node in a webcluster fail.
I want to do some drawing!
is it possible with that?
This will benefit all Xamarin.Forms developers.
Just need a way to host files:
UI.PublishFile ("/path/to/the/file.png");
Hi, really enjoying the project, great idea.
I'm trying to use a select element, but I'm not sure it's fully implemented. I couldn't find an Option type, so I had to define one:
public class Option : Element
{
public Option()
: base("option")
{
}
string _value = "";
public string Value
{
get => _value;
set => SetProperty(ref _value, value ?? "", "value");
}
}
but then I couldn't find a way to get the SelectedIndex of the current element from the Select in the ChangedHandler, and the Selects Value
property is null, even with an item selected . Am I doing it wrong?
In Chrome
1.) http://soundbitefm.azurewebsites.net/
2.) Click on podcast art
3.) hit back in browers
4.) white screen
Web socket created
ooui.js:46 WebSocket connection to 'ws://soundbitefm.azurewebsites.net/ooui.ws?id=ec584595b3b64d00a35977d6aaf659aa&w=1920&h=949' failed: Error during WebSocket handshake: Unexpected response code: 400
ooui @ ooui.js:46
ooui.js:54 Web socket error Event
(anonymous) @ ooui.js:54
ooui.js:58 Web socket close CloseEvent
(anonymous) @ ooui.js:58
ooui.js:110 WebSocket is already in CLOSING or CLOSED state.
Just a question, I know its in preview mode still, but wanted to ask about the road map as we are using c# and xaml to create a basic web app button counter, in future would we be able to use these 2 technologies to create a complete fully functional web app just like we can in angular, react e.t.c ? or will we still need to learn html , css and JS?
Need to transfer the client's culture so that the session can do proper formatting.
Xamarin Forms needs to know the size of the rectangle to paint into. Right now it's hard coded as 640x480. It should instead use the actual browser size.
This happens quite often on mobile devices.
A notice should be displayed if a connection can't be established.
Want some way to specify styles without using CSS. Something like:
UI.Styles["my-class"].BackgroundColor = "red";
Please consider using a similar security method to SignalR to prevent session hi jacking, see aspnet/SignalR#1155
Currently buttons require additional styling to look right on the screen. If you don't explicitly set the bootstrap styles or the HeightRequest = 30
(give or take a little with the number 30) the button will be smaller than the text and not look correctly.
XAML:
<Button />
Recommended Fix:
Since it has been discussed in #32 that we are going to take the dependency of Bootstrap I think it would be appropriate to apply the styles to the Button Renderer.
This is something I can take and submit a PR for
I tried to simulate a bad network connection by disabling my network adapter. This caused - in FF 57 and Chrome 62 - the close
event for the WebSocket to be called.
Is this behavior by design? I haven't tested yet how the mobile versions of FF and Chrome handle network losses on mobile devices and the behavior might be different there.
Xamarin.Forms method DisplayAlert
is currently not implemented. When you fire the message the Ooui.Forms.Platform is not listening for the messaging.
This would be a slow but convenient way to generate elements.
var e = Element.Parse ("<div><label id='l' class='w' for='i'/><input id='i' /></div>");
e["l"].Text = "The Answer";
((Input)e["i"]).Value = "42";
Syntax will be limited to XHTML. Need to preserve UserIds
. Need to map HTML names to C#.
This looks great. I can run the normal samples but can't figure out what url to hit to see the forms samples in the project.
Subj
This may be useful is using Ooui inside other apps that just want to display some HTML.
Need to add a PublishJson
function to UI so that apps can work as api hosts.
Something like:
PublishJson (new Person ());
PublishJson (() => new Person ());
This should be used on PublishFile
and /client.js
Window size works in ASP.NET MVC apps
Want to support <ul>
and <ol>
This is needed so that the samples can be hosted online on port 80.
I want a web version of Xamarin Forms
It seems as though the node.addEventListener(m.k... event is not being triggered by the bootstrap.toggle?
If the code is changed to use jquery $(node).on(m.k... it works as expected.
Is this a known issue or am I missing something?
After seeing that all created nodes are kept in a global variable, I fear that the browser memory usage might be uncontrollable when the application gets more complex - especially when developing a SPA.
Make it easy to add simple graphics to the page
First of all, thank you for this beautiful little piece of technology!
When I try to compile and run the sample using the VS Code or using the dotnet cli directly
dotnet run --project Samples/Samples.csproj
I get the below error.
C:\Users\bitbonk.nuget\packages\xamarin.forms\2.4.0.38779\build\netstandard1.0\Xamarin.Forms.targets(51,3): error MSB4062: The "Xamarin.Forms.Build.Tasks.FixedCreateCSharpManifestResourceName" task could not be loaded from the assembly C:\Users\bitbonk.nuget\packages\xamarin.forms\2.4.0.38779\build\netstandard1.0\Xamarin.Forms.Build.Tasks.dll. Could not load file or assembly 'Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [c:\temp\Ooui\Ooui.Forms\Ooui.Forms.csproj]
The build failed. Please fix the build errors and run again.
When I build and run from Visual Studio 2017, everything works fine.
This issue might be related.
Also: this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.