Is UWP/Xamarin ready for enterprise applications? - xamarin.forms

Is UWP or Xamarin is usable for enterprise applications like CRM, ERP, etc...
Is the any sample on market, or there are any patterns?
These platform are firstly mobile platforms, but they had a excellent support, a lot of graphically possibility and very modern look and feel. These platform are designed for mobile application in first line, but they are ready for enterprice applications?
Of course the are lot of extension in built control (DataGrid, Charts) which makes possible to create enterprise application. But I did not find any. Is there and problem or drawback of this platforms?
Thank you

Is UWP/Xamarin ready for enterprise applications?
The answer is yes. Xamarin UWP applies not only to mobile platforms but also to desktop platforms(Windows 10). You could also run it in the desktop client. This benefits from the native universal window platform.
For pattern, there many pattern you could select such as publish-subscribe MVVM etc. For more you could refer Enterprise Application Patterns using Xamarin.Forms.
For enterprise publish, you could think of Xamarin UWP application as UWP application, and Distribute LOB apps to enterprises document has described the details of publish process.
And this blog describe the possibility of Xamarin.Form enterprise application that you could refer.

Related

Does MEF support UWP projects?

i have been searching on whether UWP projects can be implemented with Managed Extensibility Framework.
On the GitHub depository
of Prism, it says
MEF is supported with WPF for compatibility with previous versions.
It will not be added to Windows 10 UWP or Xamarin Forms.
(It is for Prism.Mef. But, can it not be for MEF generally?)
on Microsoft Developer Network it is said:
MEF is an integral part of the .NET Framework 4, and is available wherever the .NET Framework is used. You can use MEF in your client applications, whether they use Windows Forms, WPF, or any other technology, or in server applications that use ASP.NET.
Is UWP included in "any other technology" part or with the "in server applications that use ASP.NET" part?
I know .NET Core is used for UWP applications, but that ASP.NET part confuses me.
Briefly,is it possible to write UWP applications with MEF? Answers with sources will be appreciated. Thanks.
It is for Prism.Mef. But, can it not be for MEF generally?
For Prism.Mef only
Is UWP included in "any other technology" part or with the "in server applications that use ASP.NET" part?
UWP is included in "any other technology" part
Briefly,is it possible to write UWP applications with MEF?
Yes, by using the Microsoft.Composition NuGet package, we can easily integrate MEF in UWP app.
Here is an article for Windows Store app(8.1), it is similar with UWP app.
And this is a UWP MEF sample: Link

Can we compile an asp.net 5 application by .net native?

The role of .net native in .net ecosystem is confusing for me. I heard it is just for universal windows applications, but also heard that it is part of CoreFX. I think having the option to compile to .net native can have many advantages (including performance).
Is it possible to compile my asp.net application (specially asp.net 5) to .net native?
No, you cannot. Right now, .NET Native is not for ASP.NET. I believe it's only for Universal Windows Applications. That doesn't mean that one day it won't be available, but right now it's not planned.
See related GitHub issue where ASP.NET team confirms this.
Edit 11/27/2015
Since this was posted, Microsoft has made further announcements regarding .NET Native and .NET Core. I suggest you check out Scott Hanselman's part of the keynote from the Microsoft Connect 2015 event. At the 11:22 minute mark of this excerpt video Scott shows compiling an .NET app to native code and then running it. He says it's "future work" so it appears it's not quite ready yet (I believe one of the Q&A videos from the event explained that it's in one of the dev branches on GitHub, but I'm too lazy to rewatch all the videos for you at the moment). It was unclear if this is only working for console apps at the moment or if it will run ASP.NET.
As Thomas says in comments, this should be possible once LLILC is out. It targets .NET Core which is what ASP.NET 5 runs on. I am not sure if the resulting runtime can be called .NET Native per say but LLILC do has plans to natively compile IL (e.g. output by Roslyn) ahead-of-time.
Another option is ASP.NET running on CoreRT by using RyuJIT as AOT compiler. This looks closer to reality today than LLILC. Have seen some experiments in compiling ASP.NET project on CoreRT but nothing that actually works.
[.NET Native makes use of UTC compiler which compiles to run on some C++ runtime (MRT - either minimal runtime or managed runtime, cant remember, also known as Native runtime). Currently the .NET Native UWP apps are windows specific. Though .NET Native and UWP are advertised under .NET Core, this could be misleading as only in debug mode UWP targets CoreCLR, in release mode it targets native runtime which is Windows specific. LLILC/CoreRT should change that.]

Cocos3d: Web app development support

I want to develop a web based 3D application using Cocos3d framework. I see it should be possible, as they are supporting for Java. Why i want to develop using Cocos, because i will use this web based app to launch on iOS and Android devices as Hybrid or Web app solution. I can't use three.js or flash based as both are not supported by iOS and Android browsers. Could someone advise me i can develop this using Cocos3d web app?
You can't. Cocos3d is not part of/not supported by the cocos2d cross platform development framework. It has no Javascript bindings nor is there a html5 version of cocos3d.
I suggest you take a look at Unity or other engines if you want to do 3D web apps.

adobe air vs flex vs flash builder --- i need an explanation please

Can someone explain to me the difference between Adobe Air, Flex, and Flash Builder?
I went to the Adobe website and it said that with Air I can build standalone apps for the desktop or mobile. They said the same thing with Flex.
It said Flash Builider is an Eclipse based development tool. What does THAT mean? And then it said that I could again build applications for the desktop and mobile.
There is so much overlap, I don't really understand what first to learn and what direction to take. (I know Flash and AS2 & AS3 very well.)
What is Flex
Flex is a powerful, open source application framework that allows you to easily build mobile applications for iOS, Android™, and BlackBerry Tablet OS devices, as well as traditional applications for browser and desktop application.
Flex has different SDK Version, more details
The Flex SDK contains hundreds of out-of-the-box components. DataGrids, Charts, Formatters, Validators, and numerous other UI controls are the building blocks for applications of all sizes. Components can be styled and skinned to fit the look and feel you want. There are also hundreds of third party open source and commercial components available for Flex. Mapping APIs, Data Visualization libraries, and Cloud APIs provide the building blocks for assembling great applications.
You will use the following two languages two develop flex applications.
1 . MXML is an XML-based markup language that is primarily used to layout application display elements.
2 . ActionScript is an ECMAScript-compliant object-oriented programming language that is primarily used for application logic
What is Flash Builder
Flash Builder is an enterprise-class Eclipse-based IDE to develop Flex applications.
Flash Builder includes state-of-the-art productivity features (code assist, refactoring, etc),
on-device debugging, and mobile simulators that allow developers to test their applications
on different screen sizes and densities. Flash Builder allows developers to package native
application files (ipa, apk, bar) for release on the Apple App Store, Android Marketplace,
and BlackBerry App world.
What is AIR
Adobe AIR is a cross-operating system runtime that enables you to use your existing ActionScript or HTML/JavaScript development skills and tools to build and deploy rich Internet applications (RIAs) outside the browser(Desktop) and on mobile devices.
It's very easy:
Adobe Air is a Flash Runtime for desktops and mobile devices. In other words, Flash applications use, and need it to work in the desktop or in mobile devices. This would be the equivalent to the Flash Player that you use in your web browser every day.
Flex is a framework that provides you with a set of user interface components, containers and utilities that make it easier to develop visual applications.
Flash Builder is the software you use to edit the code, to "compile" it, to test it, to debug it...
Starting from flash, Inventor of RIA(Rich internet applications). First came as a much designer friendly platform where the users can develop some cool animations and banners. Become a big success. Then making the animation interactive like listening for end users actions through keyboard and mouse added a programming language (Actionscript).
Flex a much developer friendly tool, which felicitate the development of rich internet applications in the beginning, They put Flex SDK(Software Development Tool) along with flex which makes the application development much easier.
Adobe AIR is a flash runtime running on your desktop and mobile devices, making the same user experience and to allow the developers to create multi platform desktop applications and giving some sort of access to the developers to the os level. Later on have put their effort in Mobile devices and put forward an idea of creating cross platform applications for mobile devices.
In a nutshell.
Flex can be considered as a development toolkit for for the Flash Player.
AIR is a runtime environment that enables you to run your application on the desktop/mobile device.
Flash builder is a development tool for creating applications

Should I use the Flex or Air SDK to develop an Air app?

I want to develop an Adobe air application. Whats the difference between using the Air SDK or Flex SDK and what are the advantages / disadvantages? My application will use a SQLlite database and PHP may be involved later if I turn the whole thing into a web app.
thanks
"If you want to develop an Air application, you must use the Air SDK. If you want to develop a Flex application that runs on Air, you need to use both." - #joshtnjala
I believe #joshtnjala to be partially correct, but I wanted to add on it. If using the Flex 3.3 SDK, you no longer require the AIR SDK as those tools are available to the Flex 3.3 SDK. It is important to note, because I see a lot of confusion or misuse of the term, Flex is actually three things.
Flex SDK (currently 3.3)
allows developers without the Flash and/or Flex IDE's, to develop and compile/publish Actionscript3 and MXML code to flash content (SWF). For example, one could use FlashDevelop for an IDE, and compile the code using the Flex 3.3 SDK.
Flex Framework
(From adobe [http://www.adobe.com/products/flex/overview/][1]) Flex is a free, open source framework for building highly interactive, expressive web applications that deploy consistently on all major browsers, desktops, and operating systems. It provides a modern, standards-based language and programming model that supports common design patterns. MXML, a declarative XML-based language, is used to describe UI layout and behaviors, and ActionScript™ 3, a powerful object-oriented programming language, is used to create client logic. Flex also includes a rich component library with more than 100 proven, extensible UI components for creating rich Internet applications (RIAs), as well as an interactive Flex application debugger.
Flex Builder 3
Flex Builder is merely an IDE to assist in the development of flash (SWF), or AIR content. This builder utilizes the SDK above to compile. The framework may or may not be used depending on the developers needs. Many developers have taken themselves out of the FLASH IDE (THAT NASTY TIMELINE!) and began scripting their AS3 purely in the Flex Builder IDE as it provides many useful features for the "advanced" programmer; Not to mention its a very clean UI and is built on eclipse so it has many plugins and a solid community behind its architecture.
That being said, to expand on what joshtnala said, the difference between using the AIR SKD and the Flex 3.3 SDK, is that if you merely want to build an AIR app, composed of Actiosncript3 code, the AIR SDK is all you need (33mb unpacked). If you intend to use MXML and any part of the "Flex Framework" then you must use the Flex 3.3 SDK (190mb unpacked). This will allow you to use the many available components such as Datagrids, Accordions, etc, in your AIR application. So in the end, both will develop an AIR application as Flex 3.3 SDK incorporates the AIR 1.5 development tools. Abstract your project out, figure out what you will need, if a component works for that, or if a custom implementation is needed, etc, then choose your toolkit.
Hope this helps.
These frameworks are combinable. If you want your app to be both on the web and the desktop, make it using the Flex SDK, then wrap the desktop version of this using Air.
If you're considering deploying on the web, and communicating with a backend server and all that jazz, then flex is the way to go. If your target is desktop users, then AIR.
If you want to develop an Air application, you must use the Air SDK. If you want to develop a Flex application that runs on Air, you need to use both.

Resources