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 9 years ago.
Improve this question
I am building an application that requires a lot of JSON data handling. After going over different frameworks, I am down to JSONModel (https://github.com/icanzilb/JSONModel) and github Mantle (https://github.com/github/Mantle) due to their rich feature set and ease of use.
They are both pretty much similar in terms of functionality like data transformation, archiving, copying, automatic and custom key mapping etc. However, JSONModel has some extra out-of-the-box mapping options and built-in model cascading support and Mantle is relatively more popular and obviously github support behind it.
For me performance and ease of use are important, so I was just wondering if anyone out there has real experience using them both and can share that, mostly in terms of performance and ease of use please.
I myself am leaning towards JSONModel due a lot of built-in key mapping options and model cascading but not sure about how is it going to perform with large sets of data.
EDIT (04/28/2015):
I ended up using Github Mantle since that blended well with my application architecture, plus it has more modular design where you can plug in your own property formatters, core data support, nested models, and what not.
Have been using for close to 2 years and never came across a situation where it did not work for me, no kidding! It plays nice with AFNetworking or Alamofire frameworks, works with Swift. I tried to look for alternatives when Swift support was still little patchy, man I could not find anything even remotely awesome.
Related
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 5 years ago.
Improve this question
I am going to start a new application in iOS and there are multiple architectures available in iOS i.e Viper,MVVM,MVP and MVC.
I have search google but didn't find any specific use of these architectures.
Can anyone please guide me that when and which architecture should be used and which is more beneficial?
I will try to put my answer in short:
MVC: This is the basic architecture you will find most of the people use. Without knowing this, don't go forward as it's wasting time doing so. But this architecture no one is interested in the current market as it has few drawbacks. When comes to unit testing people find it difficult. So they started moving on. One good thing about this architecture is your development is super fast.
VIPER: which became very popular these days for its separation of data, design, controller logic. For unit testing, it will be very nice. But understanding and putting efforts in this are more. If you fully understand this one, I advise you to go.
MVP: People who understand MVC, can easily go with this MVP. As there are not many changes involved in this from MVC. Presentation logic will be separated out. If you want to build good architecture, not the basic one go for this.
MVVM: It also requires good efforts from you. Don't go until you understood. Again very good separation of model, View, ViewModel.
Now it's your choice to get onboard. As all of us know, how important an architecture is for an app, don't take fast decisions here. Take your own time and conclude based on the time you have in your hands, the need for proper architecture.
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 6 years ago.
Improve this question
Coming from Android, I got used to Dagger as my main DI framework.
Recently, I joined a new iPhone project written in Objective-C which have no DI framework.
I would like to add one to our project, and I wonder which one is the best one to use, when it comes to simplicity and performance.
I would like to hear your opinion and experience.
Thanks!
Dependency injection is a popular design pattern in many languages, such as Java and C#, but it hasn’t seen widespread adoption in Objective-C (yet!).
This is an excellent read to get you started on DI is Objective-C. Additionally, you'll find this, this & the Grand Daddy this indispensable for DI in iOS.
This framework seems to be making a lot of noise these days.
In my personal experience, more than anything else DI helps you a lot in testing. It's not all or nothing approach (which is common for many design patterns) allows for easy, no-cost adoption & definitely valuable returns.
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
When I was googling, I just saw that there are a number of software frameworks present. Like this,
ASP.NET - MonoRail
Java - Google Web Toolkit
JavaScript - Backbone.js
php - CakePHP
Python - Django
Ruby - Ruby on Rails
So my quection is this.
Why we use frameworks and why we spent time to learning frameworks instead of learning more advanced techniques of the programming language?
Are there any disadvantage of using a framework? (specially reduction of speed when using server-side or client-side frameworks)
So frameworks are really just collections of functions and libraries pieced together to make it easier to perform a particular tasks.
In the case of your question, you're looking primarily at web frameworks. Which make it easier to write web servers in these languages. Python Django is a great framework because it handles all of the web stuff for you. (http requests and traffic routing) and allows you to simply specify what code will run when your app takes certain requests.
So in short, frameworks try make it easier to do certain things. Of course different people think different ways to do things are easier, so that's why we have so many different kinds of frameworks.
Feel free to ask any questions. Hope this helps!
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
In iOS generally we follow MVC project structure but it makes our view controller very massive.
I seen many Github projects but there is no such example which makes my view controller small, modular code, reusable code and many more things.
Generally what i am doing is something like this... Image of architecture
Service layer handles the logic whether they want to save the data in CoreData or not and also provides proper parameters for network layer to make api call..
Network Layer calls the api with or without header or token according to requirement and then get the response and then parse the data and provide the temp model to service layer.
But still i am unable to find the best way to create architecture for iOS project. It would be really helpful if someone will provide me any link or provide us any github link of their code.
You can look to MVVM pattern. Some example is here
I've written a quick introduction to MVVM. It explains briefly what MVVM is and why you should use it over MVC. Here's a more detailed look at MVVM.
If you need more granulation, you can use VIPER.
In my opinion MVVM is great for small/medium projects and VIPER should be considered in huge projects with a lot of contributors.
You need some language mechanic for binding in MVVM. KVO does the job, but it's API isn't very good. You could try ReactiveCocoa for data binding in MVVM/VIPER.
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 want to build an iOS application where you can easily view and interact with geophysics data (well logs, seismic sections etc), which usually come as huge matrices in SEGY format or similar.
Is there any way I can do this with swift? Also I need to extract statistics and and perform mathematical operations. Is there any scientific use of swift at all?
Sorry if I'm being vague, it's a fairly new idea and I would love to do it on iOS instead of using C/matlab/python etc.
There's nothing native to Swift, but you could always use third party frameworks for anything.
Of course, science power of Matlab won't be achievable by iOS, since the language is not intended for that, so you'll have to write some math functions on your own.
For charts, I used CorePlot, but now there's a better alternative written completely in Swift, called ios-charts.