What are the architectural patterns used in Mobile applications (other than MVC)? - mobile

MVC is the most common architectural pattern used for developing Mobile apps.
Please share your experience on applying other architectural patters, like Multitier architecture in mobile apps.

There are many derivative of MVC like MVW, MVVM etc and other patterns at server side like Repository and UoW are being used for mobile apps.
To start with, here is the Mobile Architecture Guide from Microsoft:
http://robtiffany.com/wp-content/uploads/2012/08/Mobile_Architecture_Guide_v1.1.pdf
Additionally below links would help you a lot:
Mobile Development Architecture & Design Patterns
Thanks.

For iOS devs, this is an excellent article depicting architectural patterns.
https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52#.gzhgc4u6p

For android developers, this are sample apps for different architecture patterns like mvp, clean, mvvm, etc: https://github.com/googlesamples/android-architecture

Related

PRISM to angular migration feasible or not

I have an old project which has been done by someone in Silverlight with PRISM. I want to migrate front-end to angular2. Is it feasible? Because I am totally un-aware of PRISM. Is PRISM works on traditional old form submission or with webservices? I am familiar with angular2 and dont know much about PRISM.
please guide.
As far as the technical aspects are concerned, these are different frameworks and your team will have some learning curve if you dont already know angular2.
Yes PRISM works with services and it help you design Windows Presentation Foundation (WPF) desktop applications in conjunction with MVVM pattern. PRISM is about separation of concerns and loose coupling and helps you design applications using loosely coupled components that can evolve independently.
To me, migration is more of a strategic decision, if you have healthy customer base and your app is going to stay for quite some time then at some stage you have to leave the older technologies and move towards the trending ones.

An example of a mobile REST to database architecture

Does anyone have an architecture for a REST application optimized for mobile. The architecture I would like to see manages REST requests and responses in conjunction with a database. Ideally I would like to see an architecture that has the ability to scale and is flexible to change.
You should take a look at MVVM architectural pattern. There are tons of MVVM tutorials but you can start with Silverlight client for REST using MVVM post. Also see this question Good architecture for consuming a REST web service in an MVVM app for Windows Phone 7?
In my experience RESTlets and Hibernate are good solutions for implementing a REST to Database solution using ORM.

Rhodes v/s Titanium

Which is the best framework to develop cross platform application. Especially for android and iphone. I have been through the reviews present over the internet, but those seem to be pretty old. I believe both Titanium and Rhodes have developed much over the past couple of years.
One of the basic differences is the nativeness of the two frameworks. Both Rhodes Framework and Titanium claim to be native. Rhodes however is not really native i.e. it uses an embedded Web Browser to display the HTML-coded website. Titanium, however, takes your JavaScript code, and create real native widgets on the respective platforms.
So what's so important about native? Well, it makes the user experience a whole lot better.
Rhodes Framework is best described as a competitor to PhoneGap.
From my knowledge, Rhodes is best for enterprisey apps. I would generally recommended Titanium for most app developers.
Though I have not used Rhodes, I feel Titanium is better based on what I read about Rhodes. The JS syntax in Titaniums is also easy to ramp up on. But, from what I have seen, understanding the working of the native code is useful to understand and explain some of the behavior. There is one more comparison of the frameworks that I found recently here.

Can Prism and ASP.NET Web Parts work together?

We are trying to pick a modular programming solution at my work. The choice right now is Prism or ASP.NET Web Parts.
One Boss person asked if you could wrap a Prism Module in an ASP.NET Web Part so they can be used anywhere (kind of a "can I have my cake and eat it too" kind of question.)
While I don't think this is a feasible solution, I don't really know.
Anyone out there that knows some about both Web Parts and Prism that could hazard an explanation as to if this could or could not work?
The latest Prism version only supports WPF & Silverlight. It does not provide any default support for the ASP.Net programming model.
If you (or your boss) are looking for guidance for decoupled applications with ASP.Net, you can probably check ASP.Net MVC which shares many of the Prism core concepts (presentation patterns, containers, areas/regions). Specifically, p&p developed a guidance about developing Web Apps which you can find here and download from here.
I hope this helps.

Is WPF and MVC same concepts?

I am new for both concepts.
1) I want to know that MVC and WPF is same concepts but WPF for desktop while other is for WEB ?
2) Will be easy to learn other one If i learn one of them ?
I think you probably meant "ASP.NET MVC" technology when you were talking about "MVC" (based on the tags of your question). Anyway, here are a few points that may clarify what is going on:
ASP.NET MVC is a technology for developing web applications based on the model-view-controller (MVC) pattern. You can twist it a little bit, but the framework is specifically desgined to work with this pattern.
WPF is a technology for developing windows applications. You can use various different design patterns when writing WPF applications, but the most popular one these days is called model-view-viewmodel (MVVM). You could also use the MVC pattern (organization of components) when writing WPF applications, but that wouldn't work as nicely as more native approaches.
So, regarding your questions:
They are not the same concepts - the technologies are different and the usual patterns (ways of organizing code) used with the two technologies also differ.
Learning one technology may make it easier to understand the other one slightly, because they are both .NET GUI frameworks and share some concepts. However, I don't think this will help a lot.
MVC (model-view-controller) is a design pattern, and is not specific to a particular technology set.
WPF (Windows Presentation Framework) is Microsoft's windowing library, and can be used in an MVC-designed system. However there's nothing to enforce this and MVC pattern usage can certainly be abused with WPF.
MVC is a widely used pattern and familiarity with it is going to be useful regardless of the technology set used (whether it's web-based, WPF, Swing etc.). Note that MVC is usually associated with GUIs, but there's no particular restriction and the pattern can be used wherever a model and its changes need to be reflected to different consumers with different views on that data.
No,
WPF and Silverlight are much more closely related than WPF and ASP.NET MVC. Silverlight is a seperate runtime and is basically a subset of .NET; Silverlight uses XAML markup for the UI, which supports a subset (and some web-specific) features from WPF and .NET.
ASP.NET MVC is Microsoft's implementation of the MVC pattern. What differentiates MVC from WebForms ("classic" ASP.NET web-development) is that MVC assists in using best-practices and giving the developer a high-level of control of the output of the application--WebForms was more RAD (Rapid Application Development) driven, making it easy to begin to work with--but putting some concerns about best-practes, pattens, and control to the wayside.
As for which is easier: MVC will likely be quicker to start with, but doing full-blown web-development requires a set of technologies (HTML/CSS/JavaScript/.NET) whereas WPF keeps your required knowledge more focused (XAML/WPF/.NET).
No. MVC is a pattern while WPF is a Microsoft technology.
You could with some effort likely use the MVC pattern in WPF but more popular in WPF is MVVM nowadays. MVC itself is not restricted to web only.
Grz, Kris.
2) Will be easy to learn other one If
i learn one of them ?
Shure: They both can be programmed using c# or vb. And they both can be programmed using Visual Studio.
But the same is true for any technology that incorporates .NET technology (Winform, ASP.NET, Silverlight...)

Resources