html5 or xaml for windows 8 / 8.1 [closed] - html

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am new to app development and chose C# and xaml for apps. But things didnt quite go well. I aint a full time programming freak; can just manage an hour or two a day after college studies and with xaml my head really hurts.
Recently i came to know that even html5 can be used to make apps. So my question is this :
Should i continue with xaml or switch to html5 ?
Ref : http://devchic.azurewebsites.net/?p=581
https://stackoverflow.com/questions/11147012/should-i-choose-html5-or-xaml-for-metro-development
My requirements are :
1) Shouldn't be too time consuming
2) I will currently focus on light and simple apps ( Games maybe, but not in near future)
3) They should be available to both wp8 as well as desktop, and if possible to other platforms as well.
(I happen to know c++ and Java at intermediate level.)

While either solution could work, here are some things to consider. I'm going to assume you mean Windows Store applications when you said "desktop."
1) Shouldn't be too time consuming
That's very difficult to say. If you're not familiar with C# and Xaml, there will be a learning curve. You mentioned you know Java though, so the language shouldn't be too much of a challenge. If you're interested in quick to build, I'd suggest you start with Xaml and C# and use the Xaml visual designer to gain some experience and ignore the Xaml output at first. By default, like a web page, the layout system is not absolute and often uses various types of panels (grids, dock panel, etc.) for layout.
Microsoft has a lot of great examples on MSDN that would allow you to both learn more about your options, but even contrast the coding techniques. Having taught someone at work in a little more than an hour how to get started and be productive, you might want to give Xaml another go.
2) I will currently focus on light and simple apps ( Games maybe, but not in near future)
Your definition of light and simple isn't specified. You could create applications that meet that requirement with either platform. If you're building games, the answer changes and becomes more complex. As you're still learning though, I'll not talk about that here.
3) They should be available to both wp8 as well as desktop, and if possible to other platforms as well.
Today, there are 4 common ways of developing an application for Windows 8.1 desktop:
Xaml/C# (C++ is also an option here)
WinJS/HTML/JavaScript (WinJS is a Windows store application-only framework)
Either of the above, hosting a web page (either from a web server or local in-app)
C++/DirectX (for games)
Currently, there isn't a way to use WinJS or the same code for option 4 on Windows Phone. So, you'd likely narrow your options to Xaml or a web page view. While you can't take Xaml and necessarily use the same Xaml on both platforms, the patterns and development experience are very close. By using a "portable class library", it's now possible to share the common business logic between the platforms.
A Xaml approach would allow, without extra effort, the application to be a native experience. Th application would have the appearance and behaviors of a Windows Store application. If you went with just an embedded web page approach, you'd be on your own. I will not take on the experience and look of Windows. If you aren't familiar with doing reasonably complex HTML and CSS, an embedded web page solution may be too time consuming.
(I happen to know c++ and Java at intermediate level.)
Here's a few links that might help you:
Getting started developing apps for Windows Phone and Windows 8
Develop Windows Store apps
This will likely help you with either choice.
Traditional Windows Desktop applications
If you want to build a traditional Windows desktop application and not a Store application, your options are similar, with the exception that you might choose to build your application using WPF. windows Presentation Foundation was the predecessor to the Xaml used in Windows Phone and Store applications. It's not identical, but the knowledge of one transfers well. You can also host an web page inside of a "desktop" application. I've done it frequently. If you're trying to build someone "modern" though, learn the Windows Store frameworks.

If XAML hurts, I say go HTML5. I don't understand XAML very well myself, so I use HTML5 for my Win8 apps.
Regarding your requirements, HTML5 fits 1&2 perfectly. It's not very common to write desktop apps in HTML5 though, so your options there will be quite limited.

Related

Why there is need to use html in enterprise application?

I have found this question in my University Past paper.
I know what is enterprise application and i also have a detail knowledge of HTML.. But i could not understand what is the specific purpose of html in enterprise application development. I search this question in different ways from google but no site explain it in any way except the one which is (https://answers.yahoo.com/question/index?qid=20160825012934AAuuG4g)
This site says (If the application is web based, it needs HTML to display its GUI.)
GUI can alse be displayed using JAVA.
I want someone explain me in a better way
Yes, you can use Java API also for Web Based Enterprise, Its upto you which domain is used for creating Enterprise application..
An enterprise application can consist of anything. It's a big business application. The technology used for it can differ wildly, as you pointed out, Java can be used to display the GUI.
Most businesses opt for web-based applications utilizing HTML5 and Bootstrap. It makes mobility less of an issue when someone is out in the field (if that is one of the requirements) and easily maintainable etc.
Or you can have a windows application as your enterprise application, using .NET, Java, whatever to display an interact with your desktop. This means people have to be AT work to DO work because the application is installed on a PC, not compatible with Linux etc.
It's all about what the business needs are. HTML is just a technology that CAN be applied to an enterprise application

What should I read next in order to make decent apps? (Knows C, HTML and MySQL) [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I am beginner in programming, bit knowledgeable in C, MySQL, HTML (+little CSS, CGI and JS). C is my main language. I was already able to make decent websites with basic functionalities and simple games. But I am missing something.
I can add logic to a designed page with the mentioned languages. But how can I make an app that has the design of HTML and logic of C, but does not need a browser and server (XAAMP) to be viewed?
I want to make a legit app (exe). I know it can be with only C but integrating graphics to it is really hard (unlike HTML w/ CGI & JS).
I hope you get what I mean - what is this next step in programming I should learn?
(Btw, I also tried programming in Excel VBA, but I really want to code something that runs without any needed other software)
Thanks!
I think the correct answer to your question is dependent upon what you want to do next. You have said in your question that you wish to make apps that do not run in the browser. So from here you have different learning paths depending upon the platform for which you wish to build apps. In general some languages like Java and C# are versatile and can be used on many platforms. Some specific options for you could be:
Native iOS or OS X Apps - Objective C
Native Android Apps - Java. C/C++ if using the Android NDK.
HTML5 Mobile Apps - JavaScript and HTML
Native Windows Phone Apps - .Net, C#
Apps that run on Arduino - C
Apps for Raspberry Pi - Python
I think this is just a small list. There are lots and lots of platforms out there for which you can build apps. The Tech Stack that you need to learn will depend only on the platform that you choose. In my opinion, in order to be a versatile and an adaptive programmer you should add 1 Object Oriented Language like Java or C++, one scripting language like Python and 1 database query language like SQL to your arsenal. Once you are comfortable with these languages and their paradigms, you will easily be able to transition to other languages for platforms that do not support these.
Not sure what are your plans. Depending on what you want to develop, you chose the appropriate language/ framework.
If you want to design standalone "exe"s with complex graphics, you can learn C#, JAVA, Phyton and/or VBNET. You can develop using several frameworks like visual studio, java, or even with the "new" HTML5/CSS3.
Also, depending on your needs, you can develop standalone apps for mobile using java, C++ or object-C (for Android or iOS), or even HTML5 apps on any of both.
Hope this helps

Windows Apps Universal, XAML or JavaScript

I am embarking on my first windows phone app. I noticed there are two templates one is in Javascript (Blank App (Universal Apps)) and the other in C# (XAML) again Blank App (Universal Apps). Which one should I use, I know it depends a lot on the project context, but basically its just a simple phone app, that reads and displays data, mostly crud operations. Any help is appreciated.
I think there are a lot of resources in the internet regarding this question.
For example:
http://www.itwriting.com/blog/8350-xaml-and-c-or-html-and-winjs-for-windows-store-universal-and-cross-platform-apps.html
http://www.neowin.net/news/microsoft-likes-winjs-for-making-windows-8-apps-but-most-developers-prefer-xaml
https://softwareengineering.stackexchange.com/questions/156361/advantages-and-disadvantages-to-using-xaml-c-or-html5-javascipt-for-metro-apps
If you have a C#/.NET background, choose XAML - if you have a web background, choose WinJS...
I think that XAML is more popular than WinJS (especially for Windows Phone).
Here's my take to add to the list--http://www.kraigbrockschmidt.com/2013/01/17/html-javascript-xaml-directx-language-windows-store-app/ . In my partner-facing role at Microsoft I got this question quite a bit, and it really boils down to personal preference and experience unless you run into a place where the languages don't quite have parity at present. Parity was more of an issue in Windows 8, many areas were resolved for Windows 8.1. (Parity is more a matter between Windows/Windows Phone now rather than between the languages.)
Personally, being the author of Programming Windows Store Apps with HTML, CSS, and JavaScript, Second Edition (free ebook, Microsoft Press, 2014), I like the JS approach very much because you can leverage standards. On the downside, JS code is the least secure of all the options (see this blog post of mine), which might be a make-or-break consideration.

How to create C# program with completely custom user interface? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Some years ago I tried programming in C# and at the time it seemed to offer a flexible way to construct user interfaces. For instance there was an editor for creating UIs.
I just downloaded Visual Studio Express 2013 and it seems to have completely changed. There is no UI editor anywhere that I can see, and there is a strange XAML file that is not documented anywhere obvious, and there are no sample programs from Microsoft that seem to be compatible with Visual Studio Express 2013.
How can I create a UI and control its appearance down to the pixel? Or is that no longer allowed?
Should I contemplate skipping Visual Studio Express entirely and just build with a Makefile?
Thanks.
Professional Windows UIs are not created using drag and drop techniques.
What you used back in time is called "winforms". It is a really old technology that is not intended to create rich, highly interactive UIs. And no, it is nowhere near "flexible". It doesn't allow any kind of customization and it forces you to either use the default, ugly stuff, or resort to an endless hell of horrible hacks in order to customize anything. It exhibits a "do less with more code", procedural type of approach as opposed to the "do more with less", declarative beauty you find in XAML-based technologies.
It is not recommended for any new projects, only to maintain legacy applications.
If you're serious about Windows UI design, you need to learn XAML and use any of the XAML-based technologies such as WPF or WinRT.
If you're serious about application structure and correctly architecting the different layers of a Windows application, you need to learn MVVM and DataBinding.
If you want to create a completely custom UI, you need to create custom Styles and Templates for your controls. You can use Expression Blend if you want, or create these in pure hand-written XAML.
There is abundant documentation on all these subjects, both on MSDN and in non-official sources (such as StackOverflow). Refer to all the linked sources in this answer.
If you still prefer a drag and drop approach to create Windows UIs, you can do so using the Visual Studio Designer for XAML-based UIs, however be aware that this approach has an important number of drawbacks:
Drawbacks of using the Visual Studio designer drag and drop approach to create XAML-Based UIs.
I'm not entirely sure what you are talking about, but there are two separate UI frameworks within Visual Studio and C#. Winforms, which you probably used some years ago, and WPF (Windows Presentation Foundation) which is a much newer technology that uses XAML markup to define your interface.
Both provide a visual editor in Visual Studio by clicking the .cs (for WinForms) or .xaml (for WPF) file. When creating a project please confirm which of the two you selected.
Also I'd like to note that Visual Studio defaults to opening the visual UI editor when you select and create either of these types of projects.
If you'd like to learn about the latter technology (WPF) please see here: http://msdn.microsoft.com/en-us/library/aa970268(v=vs.110).aspx

Migrating Windows Phone 8 app to Windows Tablet

Do Windows Phone 8 Application developed for Windows Phone 8 device will run on Windows Surface Tablets (RT & 8.1)? Kindly clarify me.
Could you please suggest me on, what are the changes required for migrating the application.
Take a look on the Portable class library.
It allow you to share your code between different platform.
http://msdn.microsoft.com/en-us/library/gg597392(v=vs.110).aspx
This blog clearly explains how to use it :
http://blogs.msdn.com/b/stephe/archive/2012/05/07/partager-du-code-entre-plate-formes-gr-226-ce-224-la-portable-class-library-1-4.aspx
Anyway you got specific dev to do.
You will need to rewrite many portions of the application. It's difficult to be more precise as you did not describe anything about your application.
The UI, assuming you select C# and XAML for the Windows 8 modern application will need a significant amount of changes. While there will be a significant amount of knowledge overlap and technology similarity, the UI will not be portable. The components are similar, but for example, you've probably used the Windows Phone toolkit which is not available for a Windows 8 store application. Another consideration is that on the larger screen sizes, you'll ideally want to use a different layout of your application.
For the business logic, you may be able to use much of it as is. However, anything that deals with the file system or network (and more) will not necessarily be portable. You could use a portable class library for some features, but you may still need platform specific code.
While this all may sound like a tremendous amount of work, I'd actually like to suggest that it's not. The platforms are very similar, the development environment will be identical, and some amount of UI work would have been necessary anyway. Assuming you create two applications, the structure might look like this:
PhoneApplication
Windows8Application
DataModel
PortableClassLibraryStuff
PhoneSpecific
Windows8Specific
A lot of differences beetween WinRT and WP8 API makes porting much more difficult. But if you are still interested in this topic I can suggest you
Waiting for WP8.1 and W8.1 Update 1 API combination or
Writing your own little framework in a portable class library for navigation, setting, notification, ... support. I already did that work and there are a lot of possibilities for code sharing (resources can be completely shared with the binding notation of WP8). For more information please visit the opensource github project: Github MultiPlatform Framework sample. You will still need to rewrite a lot of xaml code but the leaked footage of the WP8.1 API already showed that we will be able to use much more shared UI code :-)