Tools to convert html layouts to Silverlight 3.0 - html

I have a couple of applications for clients that were dragged into the web kicking and screaming. I'd like to take a crack at moving some to Silverlight 3.0 if even just as a proof of concept exercise. I'd like to see if I could make them full apps, layout and all. I think the layout of the web app along w/ the graphics is good and don't want to lose that aspect.
Which leads to my question, are there tools to convert existing HTML/graphics to Xaml? I'd rather use SL 3.0 navigation and not embed Silverlight xaps on every page as I would have to do w/ an ASP.NET MVC / Silverlight type solution.
Thanks.

I asked a related in spirit question after doing some research I can pretty confidently say no. There are some tools for Silverlight 1.0 and 2.0 you can find with a simple google search ( terms: html to xaml converter) but nothing specifically for Silverlight 3.0
The xaml exporter for Infragistics may be helpful if you've used Fireworks to design your sites, if not you may be out of luck.

Having just gone through this (existing ASP.NET to Silverlight 3), I’d recommend against any attempt to automatically convert the layouts. With Silverlight having a very discrete set of controls and layout mechanisms compared to ASP.NET I’d be very surprised is any tool did a neat translation. Tools for auto-generating code (be it XAML or HTML) tend to create pretty sub-optimal syntax (Expression Design -> XAML comes to mind). If you were successful, you’d still need to consider the entire data access pattern which will also drive the structure of your XAML.

Related

.net best way to render advance forms?

I plan on making an advance form system cms for company use. The options I found are WPF, winforms or to render it in HTML on an offline application.
I have varying level of experience with the first 2 but the third one I never came across until recently while researching this topic but (unless I'm poorly searching for it) I can not seem to find much info for it. I also need this system to dynamically create each form via code.
My question is for my situation, which would you choose and also explain a little more about HTML rendering method and how to create this type of system.
We aren't building your system so can't advise what you should do
Winforms
Pros
Classic structure so easy to pick up if you are familiar with classic desktop development
Cons
Rigid structure controls functions and appearance are closely coupled meaning doing anything none standard is difficult
WPF
Pros
Loosely Coupled function and appearance, this means that you can customise pretty much every element of the controls similar to CSS
High automation level, binding is built in as a fundamental function
Cons
very different to Classic structure as MVVM style is almost required, trying to do anything with out it is a very bad idea, meaning it can be hard to pick up
HTML
Pro
Easy to build for anyone familiar with Web development
Con
HTML is designed to be used online this means that any offline html system will require you to reinvent the wheel to circumvent the normal online behaviour (if you go down this route I would highly suggest an online intranet site rather than a offline system)

HTML5/CSS3-like equivalent for software UI design?

I like the flexibility that HTML5/CSS3 offers me when I build user interfaces for the web. These technologies let me create rich website prototypes fairly quickly and, unlike on the desktop, I can skin UI elements such as buttons with ease.
So far I have not been able to replicate this experience on the desktop. Over the course of a couple of years I've worked with Visual C#, Qt (with Qt Creator) and Java Swing, but all require more work for the same design tasks.
Is there a GUI toolkit, possibly combined with an IDE that has UI designing abilities, that can replicate the ease and flexibility of the HTML5/CSS3 experience? Is there perhaps a way to apply CSS-like rules to C#, Qt, Java Swing or other GUIs?
For HTML5 / CSS3 UI Designing i have been using kendoui and twitter bootstrap
WPF (windows presentation foundation) is a possibility. This is new in .net 3.5. It doesn't use HTML5/CSS. But it's the closest thing that comes to mind to what you are describing. I will mention what I know, which honestly is not much.
I know it does NOT use HTML5/CSS, but the technique for structuring an application is similar in that you create your UI using an XML like structure (XAML as they call it). And this separates your UI from backend code similar to how you would structure a website.
Using WPF, you have the ability to utilize the power of directx to give your applications media, a skinnable user interface, 3D animations, and screen transitions, etc. In short, I know it allows you to customize the UI far greater than a typical windows forms application that would be developed using the .net framework.
Here is an example screenshot of a WPF application...
If this is something you haven't researched, I think it would be worth checking out. Hope this is helpful.

Is HTML5 compatible with C#?

I am having trouble finding a clear answer on this one. I have an ASP.NET 4.0 Silverlight app, but recently a ton of users are complaining about not being able to use the site on mobile devices and Linux distro's. The app is built on MVVM architecture, and thus we are considering changing the UI to alleviate the complaints. We are leaning toward HTML5, but I'm not sure if this is even technically possible with ASP.NET 4.0. I've seen some posts saying that HTML5 only works with javascript code behinds, and that with ASP.NET 4.5 HTML5 support will be added. Am I understanding this correctly? Maybe it would make more sense to just go with an ASPX UI, what are the advantages of HTML5 over .ASPX? Any help is appreciated.
HTML5 is a set of client-side technologies.
ASP.Net is a server-side technology.
They have nothing to do with each-other.
However, it will be easier in ASP.Net MVC.
You would replace what is currently in the Silverlight plugin that runs in the users browser with some html and javascript instead.
It is not technically possible with ASP.NET 4.0. ASP.NET certainly needs the upgrade in order to handle any HTML5-producing code behind or 'plug-ins.' I second the notion of ASP.NET MVC. Also it seems you are comparing a car to gasoline when you ask the advantages of HTML5 over ASPX.
HTML5 works in conjunction with Javascript on the client side. You can still use ASP.NET to process data and deliver content server side. Here are some quick links.
http://visualstudiomagazine.com/articles/2011/09/01/pfcov_html5.aspx
http://mvchtml5.codeplex.com/ (I know it's mvc, but it might be helpful regardless.)
I'm really surprised where somebody telling that all the C# code of the ViewModel and xaml code behind replace with Javascript . Is is possible ? Where in MVVM architecture code are huge and all are responsible for higher task(like communicate with service layer or database).
Is it possible to convert all C# code in JavaScript.
Even I have seen if a JavaScript function take over 25 lines than it becomes some clumsy fro developer to understand . Simple or small functionality can easy develop with javaScript .
C# is very standard and object oriented language ,to develop LOB it has great role but Javascript is not too much .
I'm think Using asp.net mvc is nice to use HTML5 , see we just need to change UI page look using HTML5 but rest of application functionality should remain Same .

Starting point for learning how to build hybrid HTML5 apps?

I want to start building hybrid HTML5 mobile apps; build the core functionalities via HTML5, then wrap this with a native layer for iOs, Android, BB..etc
After some research: I found I need to be familiar with plenty of technologies, namely: HTML5, JS, CSS3. Other technologies/frameworks I was advised to be familiar with: JQuery for Mobile, Sencha touch, Node.JS, Backbone.JS, PhoneGap..etc
Till now I just know the basics of HTML5, JS & CSS.
My question is:
Is there a "single" place (Book/Tutorial/Screen casts) where I can find a walkthrough Tutorial that deals with some of these technologies and guide me to building hybrid HTML5 apps (Maybe on iOs for example)..
I would want to learn the mentioned technologies among these, yet I am pretty keen on learning them in the context of building a hybrid mobile app and not on separate basis. I much prefer learning by doing real work (The app in the Tutorial/Book/Screen cast here) rather than learning each technology on its own.
Much appreciate your answers.
Omar
OK, let me expand my original answer:
HTML is short for hypertext markup language.
It is used to specify how to display STATIC content via the HTTP protocol, vulgo web.
HTML5 is version 5 of the HTML language specification, and is a RECOMMENDATION to a standard, but not really a standard by itsself.
CSS is used to apply advanced STATIC formatting to STATIC text/images, such as alternating background colors for even/odd rows in a table, text-flow, text-direction, size, boldness, font etc..
To make static content DYNAMIC, you need JavaScript.
JavaScript is a scripting language, that runs in the webbrowser of a vistor (client) to the website. Theoretically, it is meant to behave the same on each browser, but in reality, Microsoft used unfair competition and intentionally crippled the JavaScript implementation in it's browser (Internet Explorer), by diverging from the ECMA standard, and by implementing proprietary features, to stifle competition (Netscape) and make it impossible to develop compelling web applications, for example online office software.
JavaScript, the client-side programming language, is complemented by PHP/ASP.NET/JSP, which are programming languages & frameworks that run on the server, and are there to dynamically create static pages, for example by filling in data from a database, and to process and save user input, such as orders, payment, emails, feedback, etc, and to process input from HTML forms (input masks).
JQuery is a JavaScript framework.
That mainly means, it's a library of JavaScript functions that were designed to provide often-needed functions that do the same on each browser, effectively bypassing the anticompetitive practises of software vendors such as Microsoft and Apple.
It also provides basic functionality for event handling, graphics and AJAX (asynchronous JavaScript and XML), and functions for serializing/deserializing JSON (JavaScript object notation).
JQuery for Mobile is a version of JQuery optimized for mobile devices, such as Android or the iAnything. So are Sencha touch, Node.JS, Backbone.JS, etc.
The difference between HTML 5 / and HTML4/XHTML is mainly that HTML5 provides a so-called "unified" way to embed audio video. Which is not necessarely true, because each browser supports different audio and video formats, and there is NOT ONE audio & video format that is universally supported across all browsers.
HTML 5 also provides the very useful WebSockets, which basically allow you to make client-server applications on the web. Since this would enable compelling web applications and office applications that would be on par with Microsoft Office, Microsoft hasn't implemented WebSockets in the standard browser. It's available as separate plugin, which basically nobody bothers to download, which means one cannot use web sockets anytime soon if the web application should work with internet explorer. Additionally, HTML5 is only implemented by IE9+, and not by IE8. IE9 however is only available for operating systems newer than windows XP (vista, 7, 8). Which means one cannot install IE9 on Windows XP (35 percent of current windows installations, Windows makes up 85 percent of the desktop market).
To embed web applications on mobile phones, you need to embed your applications in a embedded WebBrowser. For Android, the interface to the embedded browser is called WebView, and you need to learn the Java programming language to use it. For Apple, I have no idea whether they have such a thing at all, but I'd suppose they have, though it's probably going to be more complicated, since that's Objective C, and not Java. Since I have neither a iPhone nor an Apple computer, I cannot tell you anything about it, except that it's crap because it doesn't support Flash, and that it costs 10 times more than what it's worth..
Screencasts, you'll probably find on youtube, if there are any.
Again, google search will provide you with the necessary answers if you have a specific question.
My question is: Is there a "single" place (Book/Tutorial/Screen casts)
where I can find a walkthrough Tutorial that deals with some of these
technologies and guide me to building hybrid HTML5 apps (Maybe on iOs
for example)..
Yes, http://www.google.com/ncr
You know, it has a wonderful search box for just about any problem...
Other good pages:
http://www.w3schools.com/html5/default.asp
http://www.w3schools.com/js/
http://docs.jquery.com/Tutorials
Here is an update on this question, as building hybrid apps have come a long way in three years.
I would start with looking into Phonegap, or the Adobe owned version called Cordova. This is a very popular route in quickly developing and distributing hybrid cross platform mobile apps. So popular in fact many other frameworks are built around the Cordova framework to give it a more native feel, such as
Ionic - this is by far the most popular, it's open source (free) and my favorite as I find the quickest and easiest to work with. In addition they have great documentation and great pre-builds. It's command line interface framework that works combines the Cordova, Bower (a package/plugin manager), Grunt and Angular JS frameworks into one powerful and quick CLI. If you are unaware of these frameworks they're definitely worth looking up if you're looking into building web or hybrid apps.
Mobile Angular UI - is an HTML 5 framework which uses bootstrap 3 and AngularJS to create interactive mobile apps.
Titanium - is a "complete" solution for creating hybrid mobile apps with all you need in one place with there downloadable program Titanium studio
Telerik - a website based program similar to Ionic and titanium for rapid development
Those are great places to start. If you don't already have a subscription to Lynda.com I would highly suggested it. The subscription is roughly $25 a month depending on your location. They have hundreds online video courses that can run a few hours long and are very great I giving you a good scope and how-to do many projects and understanding many frameworks. teamtreehouse.com is another great tutorial tool they have a lot smaller selection of videos better more in depth and hands-on and will work with many other frameworks with in the project.
You want to learn how to develop a hybrid app that works with multiple platforms such as android, iOS, Windows, etc. This means you need to learn PhoneGap and Cordova(preferred). These are almost the same, one really is part of the other.
Google both phonegap and cordova, install the packages (requires a little bash command line knowledge). It is relatively quick and easy to get the example HelloWorld app in both Phonegap and Cordova.
After that? well, you will have to learn HTML, CSS, javascript at minimum for the web side of a hybrid application. The native side (Android, iOS, etc.) will require learning Android Studio/java for android, or Xcode/swift for iOS.
Everything you want to learn is either on youtube.com for free, or Udemy, Udacity, Lynda. Some sites you will have to pay for, but its WORTH IT.

Object relation graphical control that generates HTML

I am planning to create a small research web application, that will have a graphical data representation control as a main data layout mechanism. The following sketch shows a primitive layout for a part of a web page:
Since it will be a part of a web app displayed in browser, I want to have some logic that allows me to create, edit and render such "maps" or you can call it "hierarchical trees" into HTML markup to sent to the browser.
Maybe one of you knows a good and elegant way to create such visual elements in plain html.
If not - I am a .Net developer, so I can, as a last resort, reduce to using a silverlight to render such visuals, but than I will have a huge visitor loss on a first visit, since most of them, I suppose, won't be willing to install Silverlight Plugin, just to get acquainted with my web site.
Anyways, a plain HTML generator for such visual trees, or a Silverlight analog will be great. Thanks for the tip in advance.
P.S. I need the element to be interactive, so generating a simple image on a server is not the solution.
The JavaScript vector engine Raphael is a great option.
But if you just want to render the map and display the result on your page, then I recommend GraphViz which takes in a description of your graph in a simple language and outputs the graph in a few different formats.