Using KLone for web development - c

Would anyone be kind enough to share about your experience using KLone in a web project? Mostly, in what context are you using it?
Their home page mentions that:
KLone is a fully-featured, multiplatform, web application development framework, targeted especially for embedded systems and appliances.
However, to what extent if any is it useful for general purpose web dev?
Thanks

Related

Porting Xamarin tutorial over to .NET MAUI

For my first ever mobile app project (which will eventually become an actual commercial project), I would like to try out .NET MAUI. Unfortunately since it's still in pre-release, there is scarce documentation and no tutorial projects for it. I did find the Xamarin tutorial here:
https://dotnet.microsoft.com/en-us/learn/xamarin/hello-world-tutorial/intro
... but I don't think it's compatible with .NET MAUI.
Are there any other places where a newbie mobile developer who knows Visual Studio and C# can see an example app and be able to learn through creating an app on the level of, say, the Contoso University web app I went through to learn ASP.NET Core with data model? Can a Xamarin tutorial be tweaked to work with .NET MAUI? If so, I would be happy to help with that process. Now that I think about it, since I developed my web site based on the Contoso model, maybe I could help create a mobile app in .NET MAUI for that Contoso project? Anyone at Microsoft interested?

Should I still use Silverlight/XBAP

We need to create an application that can be used via the browser but that can also be used while offline.
The browser Version will be used by our customer to do calculations. Each customer needs to log into the application with a username and Password.
The offline version will be used by our own employees. They need to be able to use this Version while not connected to a Network.
The data that is needed for the application will be stored in XML files.
We are mainly programming with C# and the .NET-Framework. We thought about using WPF for the client version.
I have read that you can use Silverlight or XBAP to create a browser Version of the WPF application. AFAIK Silverlight is a dying Technology. How about XBAP? Would you still invest into this Technology?
The other solution would be to create two front end applications: The WPF application as an offline application and a web application (e.g. ASP.NET MVC) as a web application. Thought, this would mean that we would have to create two frontends (more work).
Is there another alternative?
Would it be better to create an HTML/JavaScript application (e.g. with AngularJ or something similar)?
As a former Silverlight Developer I can only recommend not to use Silverlight for new application development. Microsoft has suspended the further development of Silverlight and you will not get any new features (only security fixes). I really liked the technology and the similarity to WPF but for me it is deprecated.
Even some Browsers (like Chrome) do not support Silverlight anymore and you need a workaround to get it running (See also Chrome doesn't support silverlight anymore? How to solve this?)
Develop a Backendsystem that provides a REST-API (using ASP.NET WebApi as an example) for your clients and develop a Browser client application using modern HTML/CSS/JavaScript Frameworks. If needed/required a desktop application using WPF that consumes the REST-API.
Silverlight may be dying, but that does not mean you should avoid using it. Silverlight is still a viable technology that you can use, however browser trends seem to be phasing out Silverlight support. As far as I know, Microsoft Edge browser is no longer supporting Silverlight, so you will need to use Internet Explorer. This isn't the end of the world, but it's something to think about.
As for WPF, this too is being replaced by Windows Universal Apps, albeit slowly. However this isn't too much of an issue as the skills you have learnt in WPF are easily transferrable. WPF itself is not receiving as many new features as it used to, you could say it's finished.
It isn't always easy to keep up with the latest trends, and there will always be something cool and hip just around the corner, however one thing is for sure, the .NET Platform, including the new refactored Universal App APIs are here to stay, and won't die any time soon.
The current trend sees Web Technologies, such as ASP.NET playing a much bigger role than traditional desktop/tablet/phone applications. I would say that developing for a web browser is certainly a popular choice.
That being said, Windows Universal Apps is also a good choice, in fact, any technology that makes use of the .NET Framework is ideal.
As for my recommendation, I would suggest looking into an ASP.NET web application or Web API to which a desktop application, such as WPF (still a viable technology for enterprise applications) or Universal Windows App can hook into. An ideal scenario would be that both applications share the same back-end code, which is certainly possible as they both use the .NET Framework.
For your requirements, it may even be possible to avoid having to create a desktop application altogether, a web application can be hosted on a machine on the local network and clients can still use the web app. This is assuming that these clients don't have internet access of course.
TL;DR: .NET is legit, use ASP.NET.

Icenium experience and recommendations

I have to develop a mobile application that is available on Android and iOS.
I do not have any experience with native development for Android or iOS, so I decided to go with some of the existing platforms like PhoneGap, Titanium or Icenium (these platforms provide me with all necessary requirements).
I saw that Icenium requires an invitation code to go through the documentation.
What I want to ask: Has someone played with Icenium? Any recommendations about this cloud-based platform? What about performance?
I have been working with Icenium and I can say that it is fun so far. It is really just an IDE that allows you to use Cordova (PhoneGap) to build apps. There are two IDEs -- one that is browser based and one that is a Windows desktop app. The native desktop app is more featured and has a better User Experience. There is some poetic justice there, if you are looking for it :)
So far, it is certainly young. Support for things like PhoneGap plugins is non-existent so far. I also can't seem to get the app working on a real device, but these are beta bugs and I expect them to be smoothed out.
Although the cloud-based approach is nice because I don't have to worry about using multiple IDEs, you lose a lot of freedom for how you want to develop. For instance, I like using CoffeeScript and there is no support for building, compiling, creating new CS files, etc. Possibly in the future?
Since it is really just an IDE for developing Cordova (PhoneGap) apps, it isn't a different platform from Cordova. It just makes development a bit more streamlined.
I have to say that from my personal experience , Icenium is slow. They market it as being html5 apps that work like native apps and this is just not the case. You can make it look like a native app and you can develop it with the native ideology as it were, letting the user experience it as if it were native, but its so slow.
Its also really odd how a microsoft technology based company ( that is telerik ) has basically removed itself from the microsoft stack with icenium. I am not saying that is bad , microsoft itself needs to do more to attract developers to its platform. Its just really odd because most of the telerik clients use the mircosoft stack , including , very importantly visual studio. Everyone knows VS they have custom plugins that suit their development style and now we must learn and use a new IDE that is so far , in my opinion not even close to the standards of anything. The one primary advantage is that you can deploy to a device.
Adding Phonegap or any other mobile based framework can be done in anything. It also does not provide support for microsoft devices at all. Which removes completely the whole cross platform environment that it seems this was supposed to be created for.
If you are not developing for microsoft , i guess its fine , but i dont see any other advantage other then it can deploy to the device for testing. If you have clients that work on the MS stack .. i would not recommend this at all. Just fire up VS and develop as you have before and just include those libraries in your file system.

What is involved in making WPF web-based application?

I am developing an eCommerce site as a project for a class and I've only done mostly console application programming. The site is to use WPF, and is either web-based or mobile (and use Adventure Works db). I'm not sure what exactly is involved as far as programming technologies.
I became confused as I did some searching and saw terms like .xbap and wcf. What is the general overview and relationships of the technologies involved to develop a web app that is an eCommerce.
WPF is a technology designed for RDA (Rich Desktop Applications). You can't use it to build a website. Silverlight is a technology designed for RIA (Rich Internet Applications), so it is clearly better for your use.
You told about mobile... What do you mean ? Should your website be used on a mobile device ? In this case, you shouldn't use any of these technology because of interoperability...
If your project MUST be WPF, so you should read about XAML, WPF Binding, MVVM (not mandatory at first, but can helps to design your app).
If you could give us a little more precision about your project, we'll help you more efficiently.

What is the main technical difference between Web, Application, and Mobile programming?

I want to know what is the main technical difference between Web (ASP, PHP, Ruby, etc.),
Application (C, C++, .NET, Java), and Mobile (J2ME, Objective C) programming, and which is the hardest.
If someone learns one of these, can he easily switch over to one of the others?
First, from a technical perspective you should be asking the difference between Web Applications and Client Applications. Within each category, you can ask about the difference between standard Web Applications and Mobile Web Apps and standard Client Apps and Mobile Client Apps.
The difference between web and client applications is that web applications lack state: every page request is completely de-linked from every other page request. It is only through various technical work-arounds that web applications manage to maintain the illusion that a web app user is running a coherent application as they navigate from page to page. In ASP.NET, for example, the ASP.NET ISAPI DLL manages a "Session" object that pulls a session cookie from the user's page request and then provides uses it to identify the Session data appropriate for the handling of the request.
In a client application, by contrast, every aspect of the application is targeted at a single user and the "state" of the application is a given as you navigate from dialog to dialog. In addition, the tight integration of the application with the user's computer permits the use of on-board resources (memory, disk). In a web app, by contrast, there is little or no access to these resources except as mediated by the browser (which is a client application, not a web app).
Mobile web applications are, essentially, just web applications with two caveats: the screen size is considerably smaller and the browser capabilities are generally less robust. Thus, you'd write a mobile web app in pretty much the same way as a standard web app but you can not count on some of the capabilities that you usually have with a full-blown browser. This last constraint, by the way, is rapidly going away as mobile devices become more powerful.
Mobile client applications require a development environment, deployment strategy, etc. that is specific to the mobile device. The tools and techniques used in standard client application development don't map particularly well to the Mobile client. Instead, you'll need to learn new tools, controls and techniques. The only real exception to this rule are the tools available through .NET. Microsoft has attempted to provide as much commonality as possible although, even here, you'll find that you have a different mind set and different constraints than when developing a WinForms application.
Hope this helps!
It's the context in which these applications run.
Web Apps run on a server, intended to serve a large number of clients using a web browser. Even though the web-servers themselves run on some OS, the web applications that run on them are not tightly coupled to that OS.
Mobile and Desktop applications are usually more tightly coupled to the OS on which they run.
Mobile applications can be written identically to desktop applications, roughly as windows apps, console apps and browser apps (because most mobile platforms support a browser). But the mobile versions of most tools are more constrained; and there's usually communications involved, which often makes development more challenging trying to keep various kinds of State straight. And you usually have to be more sensitive to subtleties in the UI code.
There's really no particular dichotomy between Mobile apps and Web apps. The concepts aren't particularly orthogonal.
If you look at a programming framework like .NET, you'll easily be able to switch between Web (ASP.NET and Silverlight), Mobile (.NET mobile) and Desktop (.NET and WPF) as the languages are all based on the same core framework. You can write .NET in different languages, the most common of these are VB.NET and C#.
Personally I'd recommend C# if you are learning. You'll find more examples on the internet, and it will also be more similiar to languages that you may want to learn in the furture (JavaScript, Java etc)

Resources