Print this article Edit this article

IT advice for EPICS students

On-Campus IT Resources available to EPICS* students:

- File storage
- Git/svn/rcs repository
- Linux, Apache, MySQL, Perl/PHP/Python ("LAMP") infrastructure (production)
- Microsoft's Internet Information Services ("IIS") infrastructure (production)
- Oracle, SQL, MySQL (production)
- ECN Staff for consultation (www.purdue.edu/ecn/contactus)
 

Some assorted thoughts and advice, in no particular order:

- Develop your product on the infrastructure that your finished product will be on.

  • If you are looking to create a product for a campus group, you should use ECN or ITaP infrastructure
  • If you are working on an off-campus project, you should likely use commercially available solutions to develop your product on the infrastructure that your finished product will be on
- Have very clear instructions for next semester's team on how they should proceed (succession planning)
- Have the advisors reach out to ECN staff for specific consults and advice
- Try not to start from scratch each semester with the development tools "flavor of the day"
- Try to develop on proper infrastructure, and not your laptop

If you are developing using off-campus resources, make sure that you create a generic shared email address, or use the client's email address for purchasing resources. Don't use your personal email for this purpose. e.g.: purchasing a domain name

- App development:

For any app development, care should be taken to make sure that the back end web infrastructure meets with the guidelines listed above. 
 
========= ANDROID ===========
 
Creating an Android App:
In order to create an Android app, several items must be installed on the development computer. These include the Java JDK, Android SDK, and a Java IDE. In terms of IDE's, one could use Eclipse, or NetBeans, or the preferred IDE, Android Studio. Android Studio should provide all necessary tools to start developing an Android app without additional installations. Apps are made of two different parts: XML and the Java source code. 
 
 
Deploying an Android App: 
 
To deploy an Android app, package the XML and Java source into an APK package. 
 
If one has not already been made, create a Google Play developer account, this usually has a one-time, $25, registration fee). If the app will be listed as paid, make sure to also have a Google Wallet Merchant Center account. 
 
After account creation, log onto the Google Play store and navigate to "All Applications" > "+ Add new application". Follow the other on-screen prompts. Make sure to fill out the store listing information (i.e. description, title, author, etc.).
 
For testing purposes, or if one simply does not want their application on the app store, apps can also be installed on a device independently of the app store. The device must allow sideloading of applications which can be set in the developers page of the settings on the device. Additional steps, independent for each Android version, can be found online using a search engine and keywords similar to "sideload applications Android version X.Y.Z", where X.Y.Z is the version of Android the device is running. 
 
 
To Remove an Android App from the App store:
 
Click on the "Published" dropdown and select "Unpublish this app". 
 
 
=========== iOS =============
 
Creating an iOS app:
 
Per Apple's own documentation, iOS apps must be developed on a Mac computer, and use Xcode for the IDE. Xcode includes all necessary components to create an iOS app including the SDK and the swift coding language. Apple's "getting started guide" can be found here: https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/index.html#//apple_ref/doc/uid/TP40015214-CH2-SW1
 
 
Deploying an iOS App: 
 
First, join the Apple Developer Program at the following link https://developer.apple.com/programs/enroll
 
Next, add your account to Xcode under Xcode > Preferences > Accounts. 
 
Next, create a Team Provisioning Profile. From there one should be able to start launching apps on different devices (this is as specific as Apple documentation gets). For the most up-to-date information, see https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppStoreDistributionTutorial/Introduction/Introduction.html#//apple_ref/doc/uid/TP40013839-CH1-SW1. 
 

 

Questions? Ask us! We are more than happy to assist, and are only an email away: www.purdue.edu/ecn/contactus

*: Engineering Projects in Community Service

Last Modified: Oct 3, 2017 2:38 pm America/New_York
Created: Aug 30, 2017 2:55 pm GMT-4 by admin
JumpURL: