kim88
Commander
- Registriert
- Sep. 2016
- Beiträge
- 2.075
Also ich melde mich hier mal als jemand. Der schon mehrere solche Business Anwendungen Webbasiert gebaut hat. Für total unterschiedliche Use Cases.
Oft ist es ja so, dass man nicht von 0 beginnt. Oft gibt es die Firma schon, die haben bereits ein Tool und wenn dieses über eine REST API kommunizieren kann, würde ich den ganzen Backend Prozess einfach weglassen und direkt mit dem Tool weiterarbeiten und dich nur noch ums Frontend kümmern.
Wenn es das nicht gibt und du wirklich bei 0 anfängst würde ich ein PHP Framework für die Backend Prozesse nutzen, cakePHP, Symfony oder ähnliches. Diese Frameworks (bitte nicht mit CMS verwechseln) bieten dir bereits alle Grundlagen für Datenbank Kommunikation (Oft sogar mit DB deiner Wahl), sichere Loginprozesse, etc - alle diese Basic, die solche Systeme immer haben - sowas hab ich schon seit Jahren nicht mehr selber geschrieben.
Beim Frontend kommt es wirklich sehr darauf an was du brauchst, Bootstrap bietet sich oft an weil es sehr viel abdeckt. Es gibt da aber auch kleinere Frameworks die auch nützlich sind.
Wichtig ist, dass du CSS mit SASS oder LESS schreibst, so hast du massiv weniger Schreibarbeit und kannst relativ schnell CSS Code mit Media Queries, etc schreiben ohne das es gross und unübersichtlich wird.
Bis vor zwei Jahren hab ich im Frontend noch mit Angular gearbeitet, dort hab ich irgendein Form Creator Plugin genutzt um Formulare relativ schnell zu schreiben.
Inzwischen arbeite ich nur noch mit Vue dort nutze ich auch so ein Ding: Da kann man ein komplettes Formular einfach als Beispiel so schreiben:
Das funktioniert ziemlich einfach, ziemlich schnell und auch sehr gut.
Wenn du natürlich wirklich von Hand, alle HTML Dateien selbst schreibst, etc brauchst du Wochen für so ein Projekt. mit Synfony, Vue.js und von mir aus Bootstrap (gibt eine Vue Version) - hab ich dir das in 15-16 Stunden problemlos hingecodet.
Also eine Basic Variante, so ein Tool kann man ja unendlich ergänzen (Besteller kann Fahrer per GPS Tracken, Online Bezahlungen, Stundenerfassung der Mitarbeiter, usw).
Kurzer Nachtrag:
Wenn du Tabellen mit Paginieren, Sortierung, Suchfunktion und der Möglichkeit einzelne Zellen direkt bearbeiten zu können haben willst führt meiner Ansicht nach kein Weg über DataTables vorbei:
https://datatables.net
Die können das alles.
Allerdings sollte man im Web vielleicht nicht gleich wie auf Desktop Anwendungen denken. Tabellen sind äusserst unpraktisch und sollten möglichst wenig genutzt werden, da Tabellen leider nicht responsive sind (gibt da ein paar Lifehacks, aber es ist immer eine unschöne Lösung).
Oft ist es ja so, dass man nicht von 0 beginnt. Oft gibt es die Firma schon, die haben bereits ein Tool und wenn dieses über eine REST API kommunizieren kann, würde ich den ganzen Backend Prozess einfach weglassen und direkt mit dem Tool weiterarbeiten und dich nur noch ums Frontend kümmern.
Wenn es das nicht gibt und du wirklich bei 0 anfängst würde ich ein PHP Framework für die Backend Prozesse nutzen, cakePHP, Symfony oder ähnliches. Diese Frameworks (bitte nicht mit CMS verwechseln) bieten dir bereits alle Grundlagen für Datenbank Kommunikation (Oft sogar mit DB deiner Wahl), sichere Loginprozesse, etc - alle diese Basic, die solche Systeme immer haben - sowas hab ich schon seit Jahren nicht mehr selber geschrieben.
Beim Frontend kommt es wirklich sehr darauf an was du brauchst, Bootstrap bietet sich oft an weil es sehr viel abdeckt. Es gibt da aber auch kleinere Frameworks die auch nützlich sind.
Wichtig ist, dass du CSS mit SASS oder LESS schreibst, so hast du massiv weniger Schreibarbeit und kannst relativ schnell CSS Code mit Media Queries, etc schreiben ohne das es gross und unübersichtlich wird.
Bis vor zwei Jahren hab ich im Frontend noch mit Angular gearbeitet, dort hab ich irgendein Form Creator Plugin genutzt um Formulare relativ schnell zu schreiben.
Inzwischen arbeite ich nur noch mit Vue dort nutze ich auch so ein Ding: Da kann man ein komplettes Formular einfach als Beispiel so schreiben:
Javascript:
export default {
data () {
return {
model: {
id: 1,
name: 'John Doe',
password: 'J0hnD03!x4',
skills: ['Javascript', 'VueJS'],
email: 'john.doe@gmail.com',
status: true
},
schema: {
fields: [
{
type: 'input',
inputType: 'text',
label: 'ID (disabled text field)',
model: 'id',
readonly: true,
disabled: true
},
{
type: 'input',
inputType: 'text',
label: 'Name',
model: 'name',
placeholder: 'Your name',
featured: true,
required: true
},
{
type: 'input',
inputType: 'password',
label: 'Password',
model: 'password',
min: 6,
required: true,
hint: 'Minimum 6 characters',
validator: VueFormGenerator.validators.string
},
{
type: 'select',
label: 'Skills',
model: 'skills',
values: ['Javascript', 'VueJS', 'CSS3', 'HTML5']
},
{
type: 'input',
inputType: 'email',
label: 'E-mail',
model: 'email',
placeholder: 'User\'s e-mail address'
},
{
type: 'checkbox',
label: 'Status',
model: 'status',
default: true
}
]
},
formOptions: {
validateAfterLoad: true,
validateAfterChanged: true,
validateAsync: true
}
}
}
}
Das funktioniert ziemlich einfach, ziemlich schnell und auch sehr gut.
Wenn du natürlich wirklich von Hand, alle HTML Dateien selbst schreibst, etc brauchst du Wochen für so ein Projekt. mit Synfony, Vue.js und von mir aus Bootstrap (gibt eine Vue Version) - hab ich dir das in 15-16 Stunden problemlos hingecodet.
Also eine Basic Variante, so ein Tool kann man ja unendlich ergänzen (Besteller kann Fahrer per GPS Tracken, Online Bezahlungen, Stundenerfassung der Mitarbeiter, usw).
Ergänzung ()
Kurzer Nachtrag:
Wenn du Tabellen mit Paginieren, Sortierung, Suchfunktion und der Möglichkeit einzelne Zellen direkt bearbeiten zu können haben willst führt meiner Ansicht nach kein Weg über DataTables vorbei:
https://datatables.net
Die können das alles.
Allerdings sollte man im Web vielleicht nicht gleich wie auf Desktop Anwendungen denken. Tabellen sind äusserst unpraktisch und sollten möglichst wenig genutzt werden, da Tabellen leider nicht responsive sind (gibt da ein paar Lifehacks, aber es ist immer eine unschöne Lösung).