Storage of Variables Across iOS and WatchOS - watchkit

Is there any way to store a variable that can be accessed and changed by both the iOS and WatchOS applications? For example, a score set on one device, could be read, displayed and updated on the other. What is the most efficient way to do this?

Have a look at the Sharing Data section of Apple's App Programming Guide for watchOS.
If you want to share files, use a shared group container, but if you just want to share variables, which you only need at runtime, use the WatchConnectivity framework.

Related

guidance needed for corda Application design

I have a web background majorly with javascript, I have started learning Corda recently for project implementation and need guidance in this regard,
So our application is based on the web, the user signs up with different school name, create question papers, and then want to share either part of it or whole with teachers of some other school in our platform. they can make changes and assign it back to creator and the process goes back and forth, finally signing the paper to be finalized, once finalized it cannot be changed by anyone. I need to store these transactions in Corda application, not sure how to go about it, I did try replicating it using negotiation application in corda/kotlin/sample, but stuck in a bug as I was trying to send a list of objects.
I do have the following questions in mind
Should I use enterprise edition or go with open source as I think I need schema design for this. web db is in postgress
As far as I have seen each node is predefined in the config with username and password,is there a way to create the node while the user signs up.
I have schools and teachers inside the school, do I need a separate node for each school and then create states in each node(not sure if a node can be set up at run time). or do I use the account's library provided for creating the account of each teacher, if yes id there a way to use passwords in it, unable to find password field in it.
how do I send an array of objects to the state, or should I create a separate state for each question, as different questions can be assigned to different teachers, but again multiple questions can be assigned to the same teacher.
These are few questions on my mind any help is much appreciated, as most of the examples gave IOU samples or states with int and string, Please guide me in the right direction.
Alessandro has good advice here, definitely look at the samples repos for inspiration on how to build what you're looking for.
start with open source, it's easier to prototype and you can switch to enterprise later it won't be an issue for you
this depends on design, you wouldn't really want to create a new corda node per-person, you might want to have corda accounts that run on a single node instead. See accounts sdk here: https://github.com/corda/accounts
what you might do is make a corda node for each school and then accounts per teacher like you were already were thinking. That would mean only a couple of nodes based on the number of schools you have.
as long as your state is marked with #CordaSerializable you won't have problems sending arrays of data, I send an array in a state in this sample here: https://github.com/corda/samples-java/blob/master/Advanced/secretsanta-cordapp/contracts/src/main/java/net/corda/samples/secretsanta/states/SantaSessionState.java#L24
https://github.com/corda/samples-java
https://github.com/corda/samples-kotlin

How to I separate a Web+App into separate web and app projects

I've created a web+app project on Google analytics and it has a lot of data on it I don't want to lose. But... App+Web is not good and makes it ridiculously difficult to see important pieces of data.
How can I separate them into either two separate properties or views?
You cannot separate data that has already been collected into different properties (and views do not even exist in Apps+Web).
If you want to look at App data and Web data separately, you'd have you use filters/segmentation.
Your best chance is to wait until BigQuery integration becomes available and then export the data and write your own aggregations, although that is probably not easier than working with Apps+Web in the first place.
Also this is still a beta, so with enough user feedback they might improve the UI to make data (including already collected data) more easily accessible. But as for short term fixes, there are none.
You can see Technology report: Cross-platform, Web or App.
You can also use Analysis --> Exploration report and create custom reports.

Customizable Rails Apps for different customers

I will try to make this as clear as possible this is a very difficult situation and I will try to explain as clear as possible. I have not many experience in Rails but I want to do Rails in the best way I can. I've created a previous topic before but I don't really understand it Managing Large Scale apps via Rails .
Original situation:
We have had an app developed with only 1 customer in mind. To feed the customer needs we have the following branches:
Development
Customer DEV (separate site for testing new developments)
Customer ACC (separate site for accepting changes)
Customer PRD (the customer production website)
Current situation:
Now we have a second customer and all the branches have doubled. So we are now developing changes for each customer separately. These changes may include model/controller/helper changes and they have a different stylesheet (sass/css) and also different HTML.
So our 1 app has been split into 2 separate apps for 2 customers. And now I have to remembered what I did in each branch and try to implement it into other branches.
Problem:
I'm totally going to lose control of managing these apps if more customers buy it. So each customers could have different CSS / different HTML / different Models/Controllers/Library.
Problem Examples:
Each customer has different config/connections.yml file
Each customer has different translation files config/locales/en.yml
One customer wants to have a database with Users (model/controller) the other doesn't want to keep the users in the DB
My thoughts:
I'm really scared on losing the control of this app when more customers will buy this app. I'm scared that I'm going to have 100 Github branches when 25 customers will buy it. I don't know if many people has this problem or maybe should I start all over again with coding these apps. I don't know if this is even possible but if anyone could help me that would be awesome.
IMHO please consider following points for better management of applications with multiple customers:
Instead of creating separate branches for each customer and developing code separately, develop code in same branch for multiple customers(You can continue having 4 branches as per your release management).
If there are any features which are required by a customer but not
by other then create settings interface for turning a feature
on/off. This can be done by storing values in database or using gems
like flipper or rollout
For different HTML structure and css, do not maintain multiple templates/partials but maintain different layouts for different customers and render respective layout with appropriate css conditionally. Let templates & partials be common to all customers.

Storing and downloading Data in iOS Applications

I am a bit new to iOS Development and I was wondering if someone could point me in the right direction regarding an application I am working on.
I am currently working on an application that will be displaying product lists and categories. The list is updated on a weekly basis (one every week).
I am now trying to decide two things:
1- What's the best method of storing this data, I am looking for a way that will allow me to replace the data in the application once every week.
2- Is it going to be beneficial to use CoreData? Note that I Only have Product Category, Product and Product Information entities.
Appreciate your support.
I would use Core Data. Because I know Core Data and am used to work with it. But this is clearly very much like using a chainsaw to cut a slice of bread.
As I understand, you're not familiar with Core Data. Maybe it's not the right tool for the job considering the learning curve.
In your case I would simply use JSON files as provided by the server.
That said, if your looking in Core Data anyway, any store will do, either atomic, XML or SQLite. The first two will load the whole data set in memory and queries will be done in memory as well. SQLite provides the benefits usually associated with databases, with a slightly increased complexity. A chainsaw.
I would use Core Data. If you haven't worked with Core Data before, learn it. It's a great framework.

Flex Best Practices - Multiple Flex Projects or 1 Project, multiple Application MXML files

Having seen several different ways of setting up larger projects in flex, I'm wondering what your opinions are of how to organize projects that are going to require 2 or more different applications. For example a public and private site within the project.
The two main ways that I know of would be first, creating one flex project, and then adding different mxml application files. Both applications would be able to share code.
The other way (which I currently like, but have no way of justifying), would be to create a different flex project for each application, and any code that needs to be shared could be part of a shared flex library. I guess something about the separation of the applications I like more, especially since I'm either working on one or the other at a time.
What are your opinions, and do you have any reasons for doing it one way or the other?
I recommend the library approach. That said, you can still use multiple applications in one workspace (and I do), but it's handy to keep the "one project, one application" rule. My workspace might have 5 projects, each of which has an MXML application, and 4 library projects, which have none.
I have used common library approach, it gives more decoupled code. Common library can also be used by some other projects later. Two applications in one project are mix and poor organisation for me.
One project with per application. I agree with everyone else. I would add that common libs are a good way to go as well. If you are working for a client that is having you build 2 or 10 applications then you will for sure want to reuse features as you are likely going to do this to save time and also so that the applications share common themes and functionality.
I find that a good rule to follow is if you tend to use a feature more than two or three times then it is a good candidate to be placed in a common lib.
I usually structure my projects by features. and example would be something like ... take an MP3 player application.
I would have the following packages
com.yourdomain.applicationname.mp3controls
com.yourdomain.applicationname.albumlistings
each feature would contain commands, model, view packages to start.
then maybe you find that you really like the mp3controls feature and you can use it on some other apps like say a video player application. The mp3controls could then be put into a common lib and then maybe renamed to something like "mediacontrols" or something.

Resources