Έχω Μια Ιδέα Για Μια Φοβερή Εφαρμογή, Αλλά Από Που Να Ξεκινήσω;


Έχετε μια ιδέα για μια φοβερή εφαρμογή και δεν μπορείτε να ησυχάσετε αν δεν την κατασκευάσετε. Αλλά δεν ξέρετε τίποτα από προγραμματισμό και δεν έχετε ιδέα για το πώς να ξεκινήσετε.
Αν θέλετε βοήθεια για να υλοποιήσετε την ιδέα σας και να χτίσετε πραγματικά μια επιχείρηση γύρω από αυτήν, εμείς είμαστε εδώ για να βοηθήσουμε!. Αλλά αν θέλετε να βουτήξετε και να χτίσετε πραγματικά κάτι, τότε διαβάστε μια επισκόπηση υψηλού επιπέδου για το από που να ξεκινήσετε, με μια σειρά από διαφορετικές προσεγγίσεις για την οικοδόμηση της εφαρμογής σας. Το σημαντικό πράγμα που πρέπει να θυμάστε είναι πως οτιδήποτε εμπνευστήκατε να φτιάξετε, φτιάξτε το αμέσως., απλώς ξεκινήστε.
Θα κάνουμε την προσέγγιση ξεκινώντας γρήγορα να κατασκευάσουμε ένα ελάχιστο βιώσιμο προϊόν (MVP). Ως εκ τούτου, η πιο σημαντική ερώτηση που πρέπει να κάνετε πρώτα στον εαυτό σας είναι η εξής …

Ερώτηση 1: Τι είδους εφαρμογή θέλω να κατασκευάσω;


Η απάντηση σε αυτό οδηγεί σε δύο άλλα ερωτήματα:
1.Πώς θέλω να την χρησιμοποιήσουν οι άνθρωποι;
2.Τι τεχνολογίες γνωρίζω ή θέλω να μάθω;
Για το πρώτο ερώτημα, θέλετε οι άνθρωποι να τη χρησιμοποιούν ως μια εφαρμογή web σε κοινό επιτραπέζιο ή φορητό υπολογιστή; Μια εφαρμογή για smartphone που θα παίρνουν από ένα κατάστημα εφαρμογών (συνήθως γνωστή ως «native» εφαρμογή); Ή τι θα λέγατε με μια εφαρμογή web αναβαθμισμένη για χρήση smartphone; Ο απώτερος στόχος σας μπορεί να είναι να έχετε όλες αυτές τις επιλογές διαθέσιμες, αλλά αυτό έχει μεγάλη δυσκολία αν ξεκινάτε μόλις τώρα, μόνοι σας. Διαλέξτε μία και συγκεντρωθείτε σ’αυτήν, αλλά να έχετε και άλλες επιλογές υπόψιν, καθώς η πολυπραγμοσύνη θα μπορούσε να επηρεάσει τον τρόπο που σχεδιάζετε.
Η δεύτερη ερώτηση (Τι τεχνολογίες γνωρίζω ή θέλω να μάθω) μπορεί επίσης να παίξει ένα μεγάλο ρόλο στο πώς θέλετε να προχωρήσετε. Στο υπόλοιπο του άρθρου θα προσπαθήσω να παρέχω πληροφορίες για όποια διαδρομή κι αν αποφασίσετε.

Μια Σημείωση για την Αρχιτεκτονική Λογισμικού

Αν έχετε πληροφορίες για την εφαρμογή σας που θέλετε να αποθηκευτούν στο διαδίκτυο- κωδικούς σύνδεσης, φωτογραφίες, αποτελέσματα-οτιδήποτε, τότε θα θέλετε να εξετάσετε μια αρχιτεκτονική επικεντρωμένη στις υπηρεσίες .
Τι πράγμα;
Δεν θέλω να προχωρήσω πάρα πολύ στις λεπτομέρειες εδώ, αλλά παίρνοντας τη σωστή απόφαση εξαρχής μπορεί να σώσει πολύ χρόνο και κόπο στο μέλλον. «Υπηρεσιο-κεντρική-Αρχιτεκτονική» σημαίνει ότι κατασκευάζετε ένα σύστημα όπου η πληροφόρηση και η λειτουργικότητα διατίθεντε στο διαδίκτυο ως κλήσεις service που κάθε εφαρμογή ή πρόγραμμα μπορεί να κάνει και να χρησιμοποιεί.
Φανταστείτε ότι η ιδέα σας περιλαμβάνει φωτογραφίες που εμφανίζονται για το χρήστη. Αν ξεκινήσετε με μία προσέγγιση μόνο βασισμένη στο web, μπορεί να κάνετε το λάθος να ενσωματώσετε στενά την ιστοσελίδα σας με τη βάση δεδομένων των φωτογραφιών, και κάθε φωτογραφία θα μπορούσε να επιστρέψει στο πρόγραμμα περιήγησης με HTML και JavaScript γύρω της για να λειτουργήσει σωστά για το site σας. Αλλά τι συμβαίνει όταν αποφασίσετε να φτιάξετε μια εφαρμογή Android; Τώρα θα θέλετε να ζητήσετε τις ίδιες φωτογραφίες από την εφαρμογή σας, αλλά όλα αυτά τα HTML και JavaScript δε σας κάνουν κανένα καλό.
Αντ ‘αυτού, διασπάτε τα απλούστερα στοιχεία που χρειάζεστε με το απλούστερο δυνατό format (συχνά JSON σήμερα) και να κάνετε αυτό διαθέσιμο ως αίτημα για όποιον το θέλει. Τώρα κάθε ενδιαφερόμενος (ένα πρόγραμμα περιήγησης, μια εφαρμογή smartphone, μια εφαρμογή τηλεόρασης, κλπ.) μπορεί να ζητήσει αυτά τα δεδομένα και να τα χειριστεί με όποιον τρόπο απαιτείται για το συγκεκριμένο περιβάλλον χρήστη.

Ερώτηση 2: Χρειάζομαι νέο υπολογιστή;

ibm-pc
Μάλλον όχι! Το μόνο είδος εφαρμογής που μπορεί να σας ζητήσει να αγοράσετε (ή να δανειστείτε) ένα νέο υπολογιστή, είναι μια εφαρμογή iOS , η οποία μπορεί να αναπτυχθεί μόνο σε έναν υπολογιστή Mac. Για μια εφαρμογή web ή Android μπορείτε να χρησιμοποιήσετε οποιοδήποτε υπολογιστή Mac, Windows ή Linux.
Οι καλύτεροι υπολογιστές σίγουρα κάνουν τον προγραμματισμό να κινηθεί λίγο πιο γρήγορα, αλλά δεν είναι απαραίτητο να αγοράσετε νέο υπολογιστή εκτός αν ο σημερινός σας είναι αφόρητα αργός για τον προγραμματισμό. Έχω ένα παλιό laptop HP με Windows 7, το οποίο εξακολουθεί να είναι αξιοπρεπές για την ανάπτυξη Android, και πέρυσι χρησιμοποίησα ενός φίλου ένα παλιό Snow Leopard Macbook για iOS και ήταν πολύ καλό, επίσης. Έτσι, δεν χρειάζεται να ανησυχείτε πάρα πολύ για το πόσο σύγχρονος θα παραμείνει στο χρόνο, αλλά θα θέλετε να έχετε τον καλύτερο υπολογιστή που μπορείτε να αντέξετε οικονομικά.

Ερώτηση 3:Ποια εργαλεία προγραμματισμού χρειάζομαι;

tools
Για εφαρμογές web, μπορείτε να αρκεστείτε σε οποιοδήποτε παλιό πρόγραμμα επεξεργασίας κειμένου, όπως το NotePad, το TextEdit, ή το Sublime Text 2. Οι εφαρμογές Smartphone, ή οι εφαρμογές για άλλους τύπους συσκευών συνήθως απαιτούν ειδικά προγράμματα που ονομάζονται IDEs, από τις λέξεις «Integrated Development Environment». Αυτά τα εργαλεία σας επιτρέπουν να γράψετε κώδικα και να κατασκευάσετε έργα που μπορούν να τρέχουν σε κινητά τηλέφωνα, tablets, τηλεοράσεις, ή άλλους τύπους συσκευών.
Για εφαρμογές smartphone, τα εργαλεία προγραμματισμού είναι δωρεάν τόσο για iOS (Xcode) όσο και για Android (Eclipse). Η Microsoft επίσης κάνει τη ζωή πιο εύκολη για τους προγραμματιστές που θέλουν να ξεκινήσουν την ανάπτυξη εφαρμογών για τα Windows Phones-Το Visual Studio Express 2012 είναι δωρεάν και είναι παρόμοιο με το Xcode και το Eclipse. Και δεν χρειάζεστε καν ένα smartphone για να δοκιμάσετε αυτές τις πλατφόρμες (αν και θα σας βοηθούσε). Όλα αυτά τα εργαλεία περιέχουν εικονικά τηλέφωνα, που μπορείτε να τρέξετε στον υπολογιστή σας και να χρησιμοποιήσετε για να ελέγξετε την εφαρμογή σας. Οι δοκιμές σε μια συσκευή είναι καλύτερες και γρηγορότερες, αλλά τα εικονικά τηλέφωνα είναι σπουδαία και είναι δωρεάν!
Εάν αναπτύσσετε την εφαρμογή ενός smartphone, μπορεί να θέλετε να εξετάσετε ορισμένες non-native λύσεις, όπως το PhoneGapή το Titanium, που σας επιτρέπουν να γράψετε εφαρμογές για Android, iOS, και το web όλα με τη μία. Το καθένα έχει τα δικά του πλεονεκτήματα και μειονεκτήματα, αλλά έχω δει καλές (όχι σπουδαίες) εφαρμογές χτισμένες με αυτά τα εργαλεία.
Εργαλεία όπως αυτά σας επιτρέπουν να γράψετε μητρικές ή υβριδικές (web εφαρμογές ενσωματωμένες στο μητρικό shell) εφαρμογές που χρησιμοποιούν τις τεχνολογίες web, όπως HTML και JavaScript. Τα εργαλεία δημιουργούν εκδόσεις της εφαρμογής για πολλαπλές πλατφόρμες, και μπορείτε ακόμη να ανεβάσετε τις διαφορετικές εκδόσεις σε μέρη όπως το Google Play και το App Store. Αυτό μπορεί να είναι μια πολύ καλή λύση για ορισμένες εφαρμογές, ή για να ξεκινήσετε γρήγορα, αλλά τελικά μάλλον θα εξυπηρετηθείτε καλύτερα κατασκευάζοντας μητρικές εφαρμογές προσαρμοσμένες σε κάθε πλατφόρμα.

Ερώτηση 4: Πόσο θα κοστίσει;

Hidden-costs
Η εγγραφή και η φιλοξενία web εφαρμογών απαιτεί συνήθως μια μικρή μηνιαία ή ετήσια συνδρομή, αλλά τα ίδια τα εργαλεία τους είναι συνήθως δωρεάν ή φθηνά.
Τα εργαλεία για smartphone εφαρμογές είναι επίσης δωρεάν, αλλά η δημοσίευση εφαρμογών σε ειδικά καταστήματα έχει ένα μικρό κόστος. Η Apple και η Microsoft χρεώνουν μια ετήσια συνδρομή των $ 100 και η Google χρεώνει ένα εφάπαξ τέλος των $ 25.

Ερώτηση 5: Πώς ξεκινάω να γράφω την εφαρμογή;

Αν δεν έχετε γράψει μια εφαρμογή ποτέ πριν, τότε κατά πάσα πιθανότητα θα θέλετε να χρησιμοποιήσετε μία πηγή, όπως το Treehouse για να εργαστείτε μέσα από κάποια μαθήματα για το πώς να οικοδομήσετε μια απλή webAndroid, ή iPhone εφαρμογή. Όσο κι αν φαίνεται διασκεδαστικό να ξεκινήσετε αμέσως και να παίζετε με τον κωδικό, θα χρειαστείτε τουλάχιστον μια βασική κατανόηση, για το πως είναι δομημένες οι εφαρμογές.
Υπάρχουν κι άλλες αναρτήσεις στο blog που μπορούν να σας βοηθήσουν- Απλά κάντε κλικ στο iOS ή Android στο μενού πλοήγησης στην κορυφή του blog για να δείτε όλες τις αναρτήσεις σε κάθε κατηγορία. Υπάρχουν επίσης, κάποιες γρήγορες συμβουλές στο YouTube, που θα μπορούσαν να βοηθήσουν.
Το πρώτο πράγμα που θα θελήσετε να κάνετε εάν χρησιμοποιήσετε μια νέα πλατφόρμα, είτε είναι το διαδίκτυο, το Android, iOS ή Windows Phone, είναι να δημιουργήσετε ένα απλό πρόγραμμα “Hello, World!“, για να βεβαιωθείτε ότι το περιβάλλον προγραμματισμού έχει ρυθμιστεί και λειτουργεί σωστά. Τα προγράμματα “Hello, World!” είναι σπουδαία πρώτα βήματα, επειδή είναι το ελάχιστο που μπορείτε να κάνετε για να τρέξετε ένα ολοκληρωμένο πρόγραμμα. Παρακάτω είναι μερικά καλά άρθρα και βίντεο για το πώς να γράψετε προγράμματα “Hello, World!” για τις διάφορες πλατφόρμες που έχουμε αναφέρει:

Μια σπουδαία πηγή για να μάθετε πώς να κωδικοποιήσετε ορισμένα είδη λειτουργικότητας σε εφαρμογές, είναι το δείγμα του κώδικα που διανέμεται με εργαλεία και πλατφόρμες. Θέλετε να χρησιμοποιήσετε την κάμερα; Υπάρχουν υποδείγματα για να σας δείξουν πώς! Θέλετε να κάνετε την εφαρμογή σας με επίγνωση τοποθεσίας; Υπάρχουν υποδείγματα για να σας δείξουν πώς!
Για τα Android και iOS, κατεβάστε, εξερευνήστε και χρησιμοποιήστε τον κωδικό που διατίθεται στα σχέδια του δείγματος: Android |iOS. Υπάρχει επίσης φανταστική ερμηνεία διαθέσιμη στις ιστοσελίδες των προγραμματιστών για το Android, iOS, Windows Phone, και άλλες πλατφόρμες.
Καλή τύχη με την εφαρμογή σας, και ευτυχισμένη κωδικοποίηση! Αν κάνετε κάτι φοβερό, στείλτε μας ένα σημείωμα στα σχόλια παρακάτω!

Σχόλια